我在批处理脚本中运行以下命令:
netsh advfirewall firewall show rule name ="MyCustomRule"
它会输出一个字符串"没有规则符合指定的标准。"或多行。
我希望能够将其输出分配给变量,例如:
set a = output(netsh advfirewall firewall show rule name ="MyCustomRule")
这样我可以进一步if "%a%" == ""
。有可能吗?
答案 0 :(得分:1)
这是可能的,虽然我怀疑处理你的字符串中的所有空格会很有趣。
另一种方法是使用命令FIND
或FINDST
检查输出是否存在子字符串,然后根据生成的IF
执行%ERRORLEVEL%
语句通过这些命令。
答案 1 :(得分:1)
你的意思是这样的:
@echo off
for /f "delims=" %%a in ('netsh advfirewall firewall show rule name^="MyCustomRule"') do (
Set "Output=%%a"
)
Echo Output Result = "%OutPut%"
pause