@echo off
setlocal enabledelayedexpansion
set chk=tru
set final=c:\users\user1\desktop
set var=c:\users\user1\desktop
for %%s in (%final%) do (
echo %%s
echo %var%
if %var%==%%s set chk=false
echo %chk%
)
两个字符串相同但if语句不会执行set命令 并更改chk变量。有人可以帮忙吗? 我是批处理脚本的新手,我不明白为什么这个剂量工作。 我认为这是一个我不知道的技术问题
答案 0 :(得分:0)
答案 1 :(得分:0)
由于您正在循环中更改chk的值,因此所做的更改仅在下一次迭代中反映出来。因此你需要使用!而不是%立即查看更改。
@echo off
setlocal enabledelayedexpansion
set chk=tru
set final=c:\users\user1\desktop
set var=c:\users\user1\desktop
for %%s in (%final%) do (
echo %%s
echo %var%
if %var%==%%s set chk=false
echo !chk!
)