如何执行选择命令但不执行任何操作

How to execute the choice command but not do anything

我的批处理脚本使用了 choice 命令。在我的脚本中,我想检查 choice.exe 是否存在,因为它是具有选择命令的应用程序。

而且我完全知道该怎么做。 通过执行选择命令并使其在失败时退出脚本

choice || goto:nochoiceapp

:nochoiceapp
echo Cannot continue with script
echo Your system doesn't have choice.exe
pause

但我想在我的脚本开始时执行此操作。不仅仅是在需要选择命令的时候。

我希望它只检查 choice.exe 是否存在,而不是实际执行“选择”。它会导致一个选择提示

如何让它执行选择命令但不执行任何操作?

Choice 是位于 System32 中的常规系统可执行文件。您可以简单地检查该文件是否存在。

if not exist "%SystemRoot%\System32\choice.exe" goto :nochoiceapp

这是一个替代方案,它允许 Microsoft 实用程序 choice.exe 位于当前目录中 %PATH% 中的某处,或者在注册表中定义为直接可执行文件。

choice.exe /D N /T 0 2> NUL 1>&2 & If Not ErrorLevel 2 GoTo nochoiceapp

的思路是自动进入N到默认的[Y,N]?提示符,也就是说如果ErrorLevel不是2,那么这个可执行文件是不存在的在任何位置,或者确实如此,但不是正确的实用程序。

请注意,对于不使用 N 作为默认 'No' 选项的语言,您应该相应地更改 N