Условные выражения в сценариях cmd
Я делаю сценарии, используя appcmd
, Я хотел бы проверить, существует ли данный сайт и выполняет ли он какое-либо действие. В этом случае удалите его.
appcmd list app | find "mySite"
Итак, если find "mySite" возвращает какой-либо текст, я бы хотел выполнить оператор удаления. Теперь я понимаю, что могу попытаться удалить сайт и проигнорировать ошибку, но это дает (потенциально) запутанный вывод.
Я пробовал что-то вроде следующего, где я предполагаю, что я просто буду использовать переменную appExists
в операторе if, но он просто оказывается пустым. Alayways.
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=
чтобы получить ту часть линии, которая вам нужна напрямую).