我正在使用 编写脚本appcmd
。我想要做的是检查给定的站点是否存在,如果存在则执行操作。在这种情况下,删除它。
appcmd list app | find "mySite"
因此,如果 find "mySite" 返回任何文本,我想执行删除语句。现在,我明白我可以尝试删除该网站并忽略错误,但这会产生(可能)令人困惑的输出。
我尝试过类似下面的操作,我假设我只是在 if 语句中使用变量appExists
,但结果却是空白。总是这样。
set appExists=appcmd list app | find "mySite"
echo %~n0: %appExists%
我怎样才能实现这个目标?
答案1
你可以这样做:
for /f "delims=" %%f in ('appcmd list app ^| find "mySite"') do (
set appExists=%%f
)
echo %~n0: %appExists%
但是然后你可以跳过设置环境变量和添加 if 测试,并将删除构建到 for 循环中:
for /f "delims=" %%f in ('appcmd list app ^| find "mySite"') do (
rem appcmd whatever whatever remove %%f here
)
(并检查选项(for /?
)以使用delims=
和tokens=
直接获取您需要的任何部分)。