0
我不熟悉Windows批处理脚本。 尝试从文本文件Ignore.txt文件中获取值,并将它们存储为本地变量。在Windows批处理中从for循环获取标记值
命令文件:
@Echo off
setlocal enabledelayedexpansion
for /F "tokens=1,2,3" %%i in (Ignore.txt) do (
echo. %%i
echo. %%j
echo. %%k
set value1=%%i
set value2=%%j
set value3=%%k
)
Echo. Value1: !value1!
Echo. Value2: !value2!
Echo. Value3: !value3!
Endlocal
Ignore.txt:
*.svc
*.jpg
*.png
但结果只打印一个变量太错:
输出:
*.svc
*.jpg
*.png
Value1: *.png
Value2:
Value3:
请帮助我,如果我在这里做任何错误。还有关于其他更好的检索方式的建议。
的'for'循环在处理一行时间,并且文件中的行只有一个标记(将被'%% i'消耗),所以'%% j'和'%% k'都是NULL。 – CristiFati
@CristiFati,如果是这种情况,echo是如何正确打印值的? – sunny24365
_Ignore.txt_有3行:'for'循环执行3次,每次只执行'echo。 %% i'在屏幕上产生输出,另外两个(因为变量是NULL /空)被'@Echo off'抑制。 – CristiFati