Batch file FOR/F循环中的批处理回显

Batch file FOR/F循环中的批处理回显,batch-file,Batch File,我有一个CSV文件,它有3列。我试图提取第三列中的值,并从值中删除引号,然后将其写入另一个csv。各列之间用“,”分隔,因此我选择第三列 for /f "tokens=3 delims=, " %%a in (example.csv) do ( echo %aa >> example2.csv ) 它工作得很完美,但是数据中有“5884”这样的引号,所以我试了一下 for /f "tokens=3 delims=, " %%a in (example.csv) do (

我有一个CSV文件,它有3列。我试图提取第三列中的值,并从值中删除引号,然后将其写入另一个csv。各列之间用“,”分隔,因此我选择第三列

for /f "tokens=3 delims=, " %%a in (example.csv) do (
 echo %aa >> example2.csv
)
它工作得很完美,但是数据中有“5884”这样的引号,所以我试了一下

for /f "tokens=3 delims=, " %%a in (example.csv) do (
    set /A tirnak=%%a
   echo %%tirnak >> example2.csv
)
当我“set/A tirnak=%%A”时,输出值在CMD中没有引号,我可以使它在文本文件中回显,但当我在循环中使用它时,文件中的输出是

ECHO正在播放


我尝试了echo%tirnak%、echo%tirnak、echo%%tirnak,但文件中的输出是echo处于打开状态、为空或类似于%tirnak等。我如何才能做到这一点?谢谢。

使用您选择的
代币和
代币,这看起来就像您需要的:

For/F“UseBackQ令牌=3 Delims=,”%%A In(“example.csv”)Do(
Echo%%~A)>>“example2.csv”

并使用
!蒂尔纳克
或只是避免同时使用多行代码块:
调用:SetTirnak%%a
,然后定义一个标签
SetTirnak
在那里添加代码,并使用退出/b 0终止它。不要忘记在for循环之后添加一个<代码>退出/b 0 。你应该考虑阅读你想要使用的命令的帮助文件。绝对!OP:请剪切并粘贴代码-不要重写它。您的代码行
echo%aa>>example2.csv
无法提供您声明的结果<代码>回声%%a>>示例2.csv
-现在我相信了。