- Сообщения
- 8,007
- Решения
- 11
- Реакции
- 6,782
Как запустить Batch-файл с протоколированием?
Как диагностировать проблему или ошибки в синтаксисе, когда Bat-файл не работает или "вылетает".
Чтобы увидеть ошибки в синтаксисе, которые приводят к критическому завершению Batch-файла,
необходимо запустить его из CMD.exe (интерпретатора).
Как?
Этап 1. Подготовка:
Если у Вас в скрипте указана директива для скрытия вывода выполняемых команд:
Она обычно идет первой строкой в коде.
- Удалите ее, или закомментируйте:
иначе будет сложно определить, какая команда вызывает "падение" скрипта или ошибку.
Этап 2. Выполнение скрипта с перенаправлением вывода в файл протокола
Вариант 1. Для систем Windows XP и ниже:
ПУСК -> Выполнить (либо Win + R), вводим CMD, нажимаем {ENTER}
Откроется маленькое черное окно - консоль.
В нем Вы увидите путь к каталогу, в котором будут выполняться команды в данный момент.
Вам нужно перейти в каталог, где расположен бат-файл.
Например, Вам нужно запустить Batch-файл с именем script.cmd, расположенном в папке temp на диске C,
тогда вводим команды:
(ввод каждой строки подтверждаем клавишей {ENTER})
Вариант а) С выводом в консоль:
Вариант б) С логированием во внешний файл
После ввода первой строки Вы увидите на экране приглашение вида:
c:\temp>
что свидетельствует об успешном переходе в каталог c:\temp
Вариант 2. Для систем Windows Vista и выше (переход в папку с батником сразу):
1. Перейдите на уровень выше от каталога, где находится Batch-файл
(иными словами: Вам нужно видеть пиктограмму значка папки, в которой находится Batch-файл)
Если Вы видите перед собой сам Batch-файл, достаточно нажать BackSpace (кнопка "стирания").
2. Наведите указатель мыши на папку с Batch-файлом.
Нажмите и удерживайте кнопку "Shift". Вместе с этим нажмите правую кнопку мыши.
3. Выберите пункт "Открыть окно команд".
Например, Вам нужно запустить Batch-файл с именем script.cmd, расположенном в папке temp на диске C,
тогда вводим команду:
Нажимаем клавишу {ENTER}
Этап 3. Анализ файла-протокола.
После завершения работы Batch-файла в папке C:\temp будет создан файл log.txt
Передайте его специалистам, либо при наличии достаточного опыта проведите анализ самостоятельно.
Данный файл сохраняется в кодировке OEM-866, поэтому открывать его нужно в соответствующем редакторе: Русский текст в консоли - CMD/BAT - Киберфорум
Как правило, критические ошибки указаны в самом конце протокола и они предваряют команду, которая их вызвала.
Этап 4. (опционально)
Если бат-файл содержит цикл или является очень большим, полезным также будет подготовить лог уже с командой @echo off
Добавьте ее в самое начало кода и повторите всю процедуру.
Альтернатива вызову батника из-под интерпретатора.
В самом начале кода пишем:
и запускаем Batch-файл.
Все команды, выводимые на экран будут сразу перенаправляться в файл.
В этом случае на экране Вы не увидите ни выполняемых команд, ни вывода.
Все они будут протоколироваться в файл log.txt.
Как диагностировать проблему или ошибки в синтаксисе, когда Bat-файл не работает или "вылетает".
Чтобы увидеть ошибки в синтаксисе, которые приводят к критическому завершению Batch-файла,
необходимо запустить его из CMD.exe (интерпретатора).
Как?
Этап 1. Подготовка:
Если у Вас в скрипте указана директива для скрытия вывода выполняемых команд:
Код:
@echo off
- Удалите ее, или закомментируйте:
Код:
::echo off
Этап 2. Выполнение скрипта с перенаправлением вывода в файл протокола
Вариант 1. Для систем Windows XP и ниже:
ПУСК -> Выполнить (либо Win + R), вводим CMD, нажимаем {ENTER}
Откроется маленькое черное окно - консоль.
В нем Вы увидите путь к каталогу, в котором будут выполняться команды в данный момент.
Вам нужно перейти в каталог, где расположен бат-файл.
Например, Вам нужно запустить Batch-файл с именем script.cmd, расположенном в папке temp на диске C,
тогда вводим команды:
(ввод каждой строки подтверждаем клавишей {ENTER})
Вариант а) С выводом в консоль:
Код:
cd /d "c:\temp"
call script
Вариант б) С логированием во внешний файл
Код:
cd /d "c:\temp"
script > log.txt
После ввода первой строки Вы увидите на экране приглашение вида:
c:\temp>
что свидетельствует об успешном переходе в каталог c:\temp
Вариант 2. Для систем Windows Vista и выше (переход в папку с батником сразу):
1. Перейдите на уровень выше от каталога, где находится Batch-файл
(иными словами: Вам нужно видеть пиктограмму значка папки, в которой находится Batch-файл)
Если Вы видите перед собой сам Batch-файл, достаточно нажать BackSpace (кнопка "стирания").
2. Наведите указатель мыши на папку с Batch-файлом.
Нажмите и удерживайте кнопку "Shift". Вместе с этим нажмите правую кнопку мыши.
3. Выберите пункт "Открыть окно команд".
Например, Вам нужно запустить Batch-файл с именем script.cmd, расположенном в папке temp на диске C,
тогда вводим команду:
Код:
script > log.txt
Этап 3. Анализ файла-протокола.
После завершения работы Batch-файла в папке C:\temp будет создан файл log.txt
Передайте его специалистам, либо при наличии достаточного опыта проведите анализ самостоятельно.
Данный файл сохраняется в кодировке OEM-866, поэтому открывать его нужно в соответствующем редакторе: Русский текст в консоли - CMD/BAT - Киберфорум
Как правило, критические ошибки указаны в самом конце протокола и они предваряют команду, которая их вызвала.
Этап 4. (опционально)
Если бат-файл содержит цикл или является очень большим, полезным также будет подготовить лог уже с командой @echo off
Добавьте ее в самое начало кода и повторите всю процедуру.
Альтернатива вызову батника из-под интерпретатора.
В самом начале кода пишем:
Код:
Echo. 1>&3 2>&4 3>>log.txt 4>&3
Все команды, выводимые на экран будут сразу перенаправляться в файл.
В этом случае на экране Вы не увидите ни выполняемых команд, ни вывода.
Все они будут протоколироваться в файл log.txt.
Последнее редактирование: