我有一个选择菜单,出于某种原因正在分解。的代码:批量比较报表明细
: uninstallerMenu
echo REMOVE ME! total items %count%
set uninstallNr=
set /P uninstallNr=Please select a number:
echo %uninstallNr%
if /I %uninstallNr% LEQ %count% goto uninstaller
if /I '%uninstallNr%'=='M' goto menu
:: Uninstaller Error Handler
: uninstallerError
cls
echo.
echo ==================== INVALID INPUT ====================
echo _______________________________________________________
echo.
echo Please select a number or 'M' to go to Main Menu
echo _______________________________________________________
echo.
echo ============== PRESS ANY KEY TO CONTINUE ==============
pause>null
cls
if '%opt%'=='64' goto progList64
if '%opt%'=='32' goto progList32
goto menu
的问题存在于比小于或等于检查。如果我放入%uninstallRn%LEQ%count%,它会检查它并将它发送到卸载程序(如果它是真的),并按下M键执行它应该执行的操作,但按下Enter键会中断脚本。现在
如果我
if /I %uninstallNr% LEQ %count% goto uninstaller
if /I '%uninstallNr%'=='M' goto menu
前加
if '%uninstallNr%'=='' goto uninstallerError
然后一切顺利的uninstallerError节?!?!我究竟做错了什么?
就应该替换所有单引号与双引号,然后再试一次。 – Endoro 2013-04-10 18:47:05
这在大约十几个带有单引号的脚本中起作用,我认为它与LEQ语句有关,但不知道它如何影响它。因为如果我把它解决了,一切正常(除非我没有办法测试数字) – Flynn 2013-04-10 19:40:12
这不起作用:'如果'%uninstallNr%'==''goto uninstallerError'。这是无稽之谈。 – Endoro 2013-04-10 19:52:56