В моем пакетном сценарии используется команда выбора. И в моем сценарии я хотел бы проверить, существует ли файл selection.exe, потому что это приложение имеет команду выбора.
И я точно знаю, как это сделать. Выполнив команду выбора и сделав так, чтобы в случае неудачи она вышла из скрипта
choice || goto:nochoiceapp
:nochoiceapp
echo Cannot continue with script
echo Your system doesn't have choice.exe
pause
Но я хочу сделать это в начале моего сценария. Не только тогда, когда нужна команда выбора.
И я хочу, чтобы это только проверяло, существует ли selection.exe, а не выполнял выбор. Это привело бы к подсказке выбора
Как мне сделать так, чтобы он выполнял команду выбора, но ничего не делал?
||
всегда будет выполняться, посколькуchoice
всегда устанавливаетErrorLevel
; вы можете использоватьwhere choice > nul 2>&1 && (echo found) || (echo not found)
, чтобы узнать, существует ли команда… - person aschipfl   schedule 16.12.2020where.exe
не была встроена до Windows Vista, тогда какchoice.exe
была, (хотя по какой-то причине она была исключена в Windows 2000 и XP). Однако обратите внимание, что в Windows 2003 есть файл selection.exe и все версии Windows Vista, которая была выпущена более четырнадцати лет назад, поэтому в какой-то момент вам следует принять решение не поддерживать кого-либо, использующего устаревшую и, скорее всего, небезопасную операционную систему. - person Compo   schedule 16.12.2020