Есть лучшие способы сделать это, но сосредоточиться на вашем текущем формате ... Основная проблема здесь заключается в том, что вы создаете переменную с пробелом перед =
, поэтому переменная создается как %res %
и, следовательно,%res%
не является %res %
Кроме того, мы используем переключатель if /i
для проверки нечувствительности к тесту.Наконец, что произойдет, если пользователь введет любое другое значение?Затем он провалится и все равно выполнит :un
, поэтому просто запустите if /i "%res%"=="y"
@echo off
set /p "res=Are you sure to uninstall my summer car and all of its components? (NO = N, YES = Y): "
if /i "%res%"=="y" rmdir /s /q mysummercar
Однако гораздо более простое решение будет:
@echo off
choice /C YN /M "Press Y to uninstall my summer car or N to Cancel"
if %errorlevel% equ 1 rmdir /s /q mysummercar
Я настоятельно рекомендую прочитать некоторые из них.файлы справки.Откройте cmd.exe
и выполните следующее: