Пакетный файл newbiew - справка по проверке ошибок - PullRequest
2 голосов
/ 23 августа 2011

Я создал приведенный ниже скрипт, чтобы помочь ИТ-персоналу в миграции USMT.Цель состоит в том, чтобы составить список доступных хранилищ миграции, отсортированных по дате, а затем выбрать их, используя ряд меню пользовательского ввода.

Проблема, однако, заключается в том, что если пользователь вводит правильное значение, проблем не возникает, если введено неправильное значение, сценарий продолжается и содержит неверные значения в переменных структуры каталога.Я пытался использовать, если не существует, но мой код только что вызвал сценарий в бесконечный цикл.Если бы кто-нибудь мог помочь мне с способом смягчения этих ошибок, я был бы признателен, что я парень по инфраструктуре, а не программист;)

1 Ответ

1 голос
/ 24 августа 2011

Вы можете использовать команду IF EXIST.Однако стандартный синтаксис для IF EXIST работает только с файлами.Ссылка здесь: http://support.microsoft.com/kb/65994 Вы можете структурировать это следующим образом:

:LOADSTATEW732
cls
dir "\\%migserver%\reminst\USMT XP to Windows 7\32Bit\%username%" 
Set /P loadstateday=Please enter day(01-31):
cls
IF EXIST "\\%migserver%\reminst\USMT XP to Windows 7\32Bit\%username%\%loadstateday%\NUL" (
 GOTO MONTH
) ELSE (
 ECHO Not a valid day integer.
 PAUSE
 GOTO LOADSTATEW732
)
:MONTH
cls
dir "\\%migserver%\reminst\USMT XP to Windows 7\32Bit\%username%\%loadstateday%" 
Set /P loadstatemonth=Please enter month(01-12):
cls
IF EXIST "\\%migserver%\reminst\USMT XP to Windows 7\32Bit\%username%\%loadstateday%\%loadstatemonth%\NUL" (
 GOTO YEAR
) ELSE (
 ECHO Not a valid month integer.
 PAUSE
 GOTO MONTH
)

и т. Д. И т. П.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...