批处理文件不接受 /f 中的空格



此命令不起作用,它不接受路径名中的空格,我不知道如何解决它,请帮助

    for /f "tokens=* delims=" %%x in (E:NON-school stuffspace spacea.txt) do echo %%x

我已经尝试了一切,请帮忙!

容易修复。

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

每当文件路径中有空格时,都需要用引号括起来,如果您阅读 FOR/F 命令的帮助,您将看到 usebackq 选项允许您在文件名中有空格时使用引号。如果不使用 usebackq 选项,它会将文件名视为字符串。

一个技巧是将您的文件名转换为短文件名,因此任何命令都可以毫无问题地接受它

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

在您的情况下

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

最新更新