Я вполне уверен, что причина, по которой вы полагаете, что отправленный вами код "не работает", заключается в том, что вы, вероятно, не намеревались вводить Стартовую подсказку при таком выборе, как вы.
Примечание: в общем, вам следует избегать использования GOTO и вместо этого использовать CALL.
Эта картинка представляет логический поток вашего кода, я выделил путь, который, как я полагаю, принимает ваш код в Orange, и я выделилпроблема в красном.

Как выделено красным, вы включаете выбранную часть только в том случае, если Каталог уже существует.
Вот конкретный рассматриваемый блок кода:
:CHECKLOGS
IF NOT EXIST "C:\temp\logs\" (
mkdir "C:\temp\logs\"
echo.>"C:\temp\logs\appsense_BACKUP_robo.txt"
) ELSE (
echo.>"C:\temp\logs\appsense_BACKUP_robo.txt"
:STARTPROMPT
CHOICE /C 12 /N /M "Are you wanting to: Copy Files [1] OR Paste Files [2]?"
IF ERRORLEVEL 2 goto PASTEFILES
IF ERRORLEVEL 1 goto CHECKEXIST
)
Вы, вероятно, намеревались написать это как:
:CHECKLOGS
IF NOT EXIST "C:\temp\logs\" (
mkdir "C:\temp\logs\"
echo.>"C:\temp\logs\appsense_BACKUP_robo.txt"
) ELSE (
echo.>"C:\temp\logs\appsense_BACKUP_robo.txt"
)
:STARTPROMPT
CHOICE /C 12 /N /M "Are you wanting to: Copy Files [1] OR Paste Files [2]?"
IF ERRORLEVEL 2 goto PASTEFILES
IF ERRORLEVEL 1 goto CHECKEXIST
Я полагаю, что простое использование вышеприведенного кода исправит ваш код на путивы ожидаете этого.
Тем не менее, весь сценарий может быть значительно ужесточен, если вы захотите следовать некоторым хорошим практикам (и даже чуть дальше).