议决内设置变量:赢批:嵌套循环不工作
我有,我都凝结于以下几行代码来说明我有这个问题很长的脚本。我已经尝试了一些StackOverflow用户的建议无济于事,所以希望您的反馈能帮助我和未来的用户。注意:除了设置pdfREP嵌套变量外,此代码有效。
SETLOCAL enabledelayedexpansion set pdfREP=false for /f "tokens=1" %%a in ('dir /o /b \\path2document\*.rp?') do ( findstr "," \\path2log\%%a > 1.log if not errorlevel 0 ( :: do something ) if errorlevel 0 ( findstr /B /I "p" \\path2document\%%a > 1.log if errorlevel == 0 ( set pdfREP=true echo RSP File: %%a >> 2.log ) ) echo the value of pdfREP is !pdfREP! )
基本上问题是,在\ path2document我有多个文件,并在每个我寻找一个逗号。如果没有找到逗号,那么我想知道文件的文本内是否有特定的字母。如果找到文本,我将先前定义的变量设置为TRUE,而不是FALSE。然而,如果不同的语法(%errorlevel%== 0,%errorlevel%EQU 0),“if errorlevel == 0”可以为真,并且它不会将变量pdfREP设置为TRUE。如果问题是该变量在循环迭代之前没有设置,那么我如何在代码的其余部分使用这个变量?我想稍后使用这个变量,所以设置它是最重要的。感谢您的任何反馈。
解决方案: 我设置的变量没有显示当前值,因为我使用的是延迟扩展,它使我不明白该值,所以它变成了一个问题。由于我在循环中使用变量值,因此我需要使用!来访问变量的当前值。围绕变量名称,而不是%。
感谢您的链接。 – thehme