Мне нужна помощь с партией. Я создал этот пакетный файл, используя операторы условной обработки для обнаружения ошибок. Для этого пакетного файла не должно оставаться символов условной обработки. Мне нужно удалить их и использовать «IF ERRORLEVEL» для обнаружения ошибок. Мы не можем использовать «IF% ERRORLEVEL%» или что-либо продвинутое, мы только на начальной стадии. Нам также нужно использовать пользовательскую команду net. Я застрял.
Оригинальный код, который работает с операторами условной обработки:
@echo off
rem Check if the account already exists before creating account. If it does not exist, go to :FAIL
net user | find /i "%1" >nul 2>&1 && GOTO FAIL
rem Add a user if the account does not exist and then go to :SUCCESS
net user %1 %1 /add >nul 2>&1 || GOTO ERROR
GOTO SUCCESS
rem If the user does not already exist and is succesfully added
:SUCCESS
echo The %1 user was succesfully added.
GOTO :EOF
rem If the user already exists
:FAIL
echo The %1 user already exists on this computer.
echo Please use a different username.
GOTO :EOF
rem Send system generated errors messages to ECHO
:ERROR
echo An Error was generated when attempting to create the user
echo These are the things you can check:
echo Did you open the command prompt as administrator?
echo If passwords are required on your system, did you include one?
GOTO :EOF
:END
Что я знаю:
- Если учетная запись уже существует, уровень ошибки равен 0.
- Если учетная запись не существует, и она создана, уровень ошибки равен 0.
- Если командная строка не запускается как администратор или не применяется политика паролей
встретился, уровень ошибки равен 2.
На самом деле я ничего такого не знаю, потому что кажется, что мой уровень ошибок меняется, чем больше я экспериментирую ... Я застрял ... В одном из командных запросов я получил уровень ошибки 1, так что ... также есть условная обработка GOTO: EOF?
Как мне выполнить sh этот сценарий? Я застрял. Пробовал некоторые вещи, но в конечном итоге застрял. Вот что у меня есть, от чего я отказался.
Код, который у меня есть без операторов условной обработки и IF ERRORLEVEL:
@echo off
IF ERRORLEVEL 2 (
rem Send system generated errors messages to ECHO
echo An Error was generated when attempting to create the user
echo These are the things you can check:
echo Did you open the command prompt as administrator?
echo If passwords are required on your system, did you include one?
GOTO :EOF
)
:: Check if the account already exists before creating account. If it does not exist, go to :FAIL
net user | find /i "%1"
IF ERRORLEVEL 0 (
rem If the user already exists
echo The %1 user already exists on this computer.
echo Please use a different username.
GOTO :EOF
)
:: Add a user if the account does not exist and then go to :SUCCESS
net user %1 %1 /add
IF ERRORLEVEL 0 (
REM If the user does not already exist and is succesfully added
echo The %1 user was succesfully added.
GOTO :EOF
)
:END