批处理脚本:IF同步没有按预期工作
FOR /F "tokens=*" %%A IN ('gpresult /r ^| FIND "string"') DO SET Result=%%A if '%Result%'=='this is where the word string shows up'
echo Success > %homepath%\Desktop\Success.txt
即使字符串匹配,也不实际将文件写入桌面。批处理脚本:IF同步没有按预期工作
回答:
你需要
在您的批处理文件的顶部,随后的替代
'%Result%'=='this is where the word string shows up'
你需要
'!Result!'=='this is where the word string shows up'
- 注意!代替 %。否则,当批处理文件第一次被解析时,Result Result%被展开,此时Result变量不包含任何内容。这些更改意味着它会延迟解析它,直到它在for循环内,这一点将适当填充。
回答:
尝试在代码中使用setlocal enabledelayedexpansion。然后使用“!变量!”访问您的变量而不是“%variable%”。 还要确保%% A是否获取所需的令牌。
回答:
的echo
应在同一行if
:
if '%Result%'=='this is where the word string shows up' echo Success > %homepath%\Desktop\Success.txt
或放在括号周围:
if '%Result%'=='this is where the word string shows up' ( echo Success > %homepath%\Desktop\Success.txt
)
以上是 批处理脚本:IF同步没有按预期工作 的全部内容, 来源链接: utcz.com/qa/262529.html