批处理脚本: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

回到顶部