批处理文件不接受/ f

时间:2016-01-28 18:51:40

标签: windows batch-file cmd

此命令不起作用它不会接受路径名中的空格,我无法弄清楚如何解决它请帮助

    for /f "tokens=* delims=" %%x in (E:\NON-school stuff\space space\a.txt) do echo %%x

我已经尝试了一切请帮助!

2 个答案:

答案 0 :(得分:2)

轻松修复。

set "sourceFile=E:\NON-school stuff\space space\a.txt"
for /f "usebackq tokens=* delims=" %%x in ("%sourceFile%") do echo %%x

任何时候你需要引用文件路径中的空格,如果你阅读FOR / F命令的帮助,你会看到usebackq选项允许你在文件名中有空格时使用引号。如果您不使用usebackq选项,则会将文件名视为字符串。

答案 1 :(得分:0)

一个技巧是将您的文件名转换为短文件名,因此任何命令都可以接受它而不会出现问题

for %%a in ("\some dir\some text.txt") do echo %%~sa

在你的情况下

for %%a in ("E:\NON-school stuff\space space\a.txt") do for /f "tokens=* delims=" %%x in (%%~sa) do echo %%x