我尝试执行下面的脚本
@echo off
setlocal enableextensions enabledelayedexpansion
set MYFILE=D:\Working Dir\Home Usage Working\patch me.txt
FOR /F "tokens=1,2,3 skip=2" %%A in (!MYFILE!) do (
Echo %%A
Echo %%B
Echo %%C
)
endlocal
这对我来说不起作用。我知道问题在于路径名中的空格。我试过在“!MYFILE!”两边加上引号,但那不起作用。
我该如何让它工作?
答案1
我希望脚本“读取”文本文件。我最终做的是
@echo off
setlocal enableextensions enabledelayedexpansion
set MYFILE=D:\Working Dir\Home Usage Working\patch me.txt
FOR /F "tokens=1,2,3 usebackq skip=2" %%A in ("!MYFILE!") do (
Echo %%A
Echo %%B
Echo %%C
)
endlocal
答案2
声明 MyFile 时,请将路径括在引号内,而使用变量时,请将引号括在变量内。
因此set MYFILE=D:\Working Dir\Home Usage Working\patch me.txt
改为set MYFILE="D:\Working Dir\Home Usage Working\patch me.txt"