变量读取不正确

变量读取不正确

我尝试执行下面的脚本

@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"

相关内容