Если вашей целевой операционной системой является Windows Vista или более поздняя, я бы посоветовал вам использовать choice.exe
для пользовательского ввода, состоящего из одного заранее определенного набора известных ответов.
В приведенном ниже примереЯ включил некоторый код, чтобы попытаться предварительно определить, является ли корпус ноутбуком / ноутбуком.Если это невозможно определить, будет вызвано приглашение для ввода.
@Echo Off
For /F "EOL=C Delims={}" %%A In ('
""%__AppDir__%wbem\WMIC.exe" SystemEnclosure Get ChassisTypes 2>Nul"'
) Do For %%B In (%%A) Do If %%B GEq 9 If %%B LEq 10 Set "ResultIs=T"
If Not "%ResultIs%"=="T" ("%__AppDir__%choice.exe" /M "Is this a laptop"
If ErrorLevel 2 GoTo :Continue)
Rem Laptop specific code goes here
Echo You are using a laptop
:Continue
Rem The rest of your code goes here
Echo Continuing . . .
Pause