Я часами устранял неисправности, но безуспешно. Я погуглил и прочитал многочисленные форумы, а также безрезультатно. У меня есть пакетный скрипт, который я писал для моего босса, чтобы использовать его для нашей компании. Цель казалась достаточно простой и не требовала каких-либо чрезмерно сложных приемов. Я просто хотел сделать скрипт, который мы могли бы запустить, чтобы добавить exe или скрипт в планировщик задач. Эта часть у меня фактически есть вниз. Это в тексте и опциях, до этого у меня были проблемы. Из того, что я могу сказать, у меня нет синтаксических ошибок, но сценарий все еще падает на операторе if.
@echo off
net session 1>nul 2>nul
if %errorlevel% == 0 goto begin
if %errorlevel% GTR 0 goto eof
:begin
set CREATE_OR_DELETE=CREATE
set TASKNAME=TASK
set SCHEDULE=ONSTART
set TASKRUN=cmd.exe
if "%*"=="" (
goto getinfo
) else (
goto parsetags
)
:getinfo
choice /c CD /n /m "Are you (c)reating or (d)eleting?"
if errorlevel 1 set CREATE_OR_DELETE=CREATE
if errorlevel 2 set CREATE_OR_DELETE=DELETE
cls
set /p TASKNAME="What is the name of the task you're creating/deleting :: "
cls
if not %CREATE_OR_DELETE%==DELETE (
::the code crashes on the above if statement
::that is why I'm dumbfounded
)
:eof
Я опущу оставшуюся часть кода, поскольку он не имеет отношения к проблеме. В последнем операторе if в коде скрипт просто завершается без каких-либо сообщений или ошибок. Я не смог заставить сценарий пройти этот оператор if вообще. Я попробовал почти все варианты, которые я могу придумать. Цитаты, заглавные буквы, пробелы, пустые новые строки, буквально все, что я искал или думал. Ничего не сработало. Пожалуйста, не бей меня слишком сильно, так как партия довольно нова для меня, я обычно использую другие языки.
-------------------- РЕДАКТИРОВАТЬ --------------------
Я прошу прощения за длину / сложность этого кода. Я включил только строки кода before, потому что скрипт рушится в строке, в которой нет синтаксических ошибок, что заставляет меня поверить, что в строках может быть некоторая запутанность, но это не обязательно неправильно, но я не в курсе из. Также имейте в виду, что я буду применять изменения, только когда я нахожусь на машине с кодом на ней.