Batch file 批量回显单词returntofile
我有一个for循环来遍历一个文件,然后输出到另一个文件,但是我需要将单词“return”输出到该文件Batch file 批量回显单词returntofile,batch-file,cmd,Batch File,Cmd,我有一个for循环来遍历一个文件,然后输出到另一个文件,但是我需要将单词“return”输出到该文件 For /F "usebackq tokens=1-2 delims=," %%a in (%filein%) Do ( echo if (%%a) return %%b; >> %fileout% ) 我不断收到“此时返回出乎意料”的消息,我尝试了^和引号的变体,但运气不好。 有人知道如何在文件中回显“return”一词吗?谢谢你使用任何一种 For /F "usebackq
For /F "usebackq tokens=1-2 delims=," %%a in (%filein%) Do (
echo if (%%a) return %%b; >> %fileout%
)
我不断收到“此时返回出乎意料”的消息,我尝试了^和引号的变体,但运气不好。
有人知道如何在文件中回显“return”一词吗?谢谢你使用任何一种
For /F "usebackq tokens=1-2 delims=," %%a in (%filein%) Do (
echo if (%%a^) return %%b;>> %fileout%
)
或
要通过ECHO输出的代码中的右括号)
由Windows命令解释器解释为命令体的命令块结尾。解决方案是使用插入符号^
将其转义为文字字符
在第二个版本中,为执行的单个命令直接指定,根本不使用命令块
此外,分号和重定向运算符之间的空格
>
也会被删除,因为此空格也是由ECHO输出的,因此也会作为尾随空格写入输出文件。您忘记了第二个ECHO,您将^
放在哪里了?在%%a)
中的)
前面应该只需要一个。导致问题的是return这个词,而绝对不是return这个词<代码>返回不是批处理中的关键字。命令提示符在%%a
之后看到)
,认为这是for
循环的右括号,并尝试将return
作为命令运行。如果您不使用括号,代码将起作用。“谢谢”评论被认为是非建设性的,正如@Mofi所说的,您应该查看链接和常见问题部分。
For /F "usebackq tokens=1-2 delims=," %%a in (%filein%) Do echo if (%%a) return %%b;>> %fileout%