Windows Server 2003 R2
Код:

@echo off
set user=Богомолова_Л_Б
set ArchDir=D:\Пробная\%date:~6,4%\%date:~0,2%.%date:~3,2%.zip
set BaseDir=D:\Пробная\Архив\
echo 11:45 - ПРОЗЬБА ПОКИНУТЬ БАЗУ 1С
echo через 5 минут начнется автоматическое архивирование
:Er
echo Сможете ли вы покинуть БД до 11:50? Y - Да, N - нет
echo ============================================
Set /p Key=
if %Key%=="N" (goto :No) else (goto :2step) /i
:No
echo Укажите пожалуйста причину...
echo ============================================
set /p Event=
echo Причина ( %Event% ) зафиксированна для пользователя %user%
pause
:2step
echo ( %Choise% ) - не является командой
if not %Choice%=="Y" goto :Er
7z a -tzip %ArchDir% %BaseDir%
pause
что-то вроде того... но это просто полигон... проверка как работают операторы и конструкция в целом
сейчас вообще ведет себя странно...
на этапе первого запроса у пользователя - останавливается... принимает и благополучно закрывается...
ни ошибки ни чего... в коде нигде не встречается
goto :eof, а в конце каждого логического блока
pause
а мне нужен ключь
/i оператора
If , как указанно в справке он отвечает за то, что при сравнении не будет учитываться регистр символов