Как я могу отладить.BAT сценарий?

В настоящее время нет возможности увеличить эти ограничения.

92
задан Ross Ridge 5 March 2018 в 21:00
поделиться

8 ответов

Я не знаю о так или иначе для продвижения посредством выполнения .bat файла, но можно использовать echo и pause для помощи с отладкой.

ЭХО
повторит сообщение в пакетном файле. Такой как ЭХО Привет Мир распечатает Привет Мир на экране, когда выполняется. Однако без @ECHO ПРОЧЬ в начале пакетного файла Вы также получите "ЭХО Привет Мир" и "Привет Мир". Наконец, если Вы были бы точно так же, как, чтобы создать пустую строку, ввести ЭХО. добавление периода в конце создает пустую строку.

ПАУЗА
Подсказка пользователь для нажатия любой клавиши для продолжения.

Источник: Справка Пакетного файла

@workmad3: ответ имеет больше хороших советов для работы с эти echo команда.

Другой полезный ресурс... DDB: Подсказки по Пакетному файлу DOS

67
ответ дан Eric Schoonover 24 November 2019 в 06:34
поделиться

Удостоверьтесь, что нет никакого 'эха от' операторов в сценариях и не обращается к 'эху' после вызова каждого сценария для сброса любого, которого Вы скучали.

причина состоит в том что, если на эхе оставят, то интерпретатор команд произведет каждую команду (после обработки параметра) прежде, чем выполнить его. Заставляет его выглядеть действительно плохо для использования в производстве, но очень полезный для отладки целей, поскольку Вы видите, где произведенный пошел не так, как надо.

кроме того, удостоверьтесь, что Вы проверяете ErrorLevels, установленный названными сценариями пакетной обработки и программами. Помните, что существует 2 различных метода, используемые в .bat файлах для этого. При вызове программы Ошибочный уровень находится в %ERRORLEVEL %, в то время как от пакетных файлов ошибочный уровень возвращается в переменной ErrorLevel и не нужен в % вокруг этого.

18
ответ дан workmad3 24 November 2019 в 06:34
поделиться

Единственным путем я могу думать, spinkle код с echo с и pause с.

2
ответ дан jop 24 November 2019 в 06:34
поделиться

Вы пытались перенаправить результат в файл? Как whatever.bat >log.txt

необходимо удостовериться, что в этом случае любой названный сценарий также регистрируется в файл как >>log.txt

Также при помещении даты/T и время/T в начале и в конце того пакетного файла Вы получите времена, которыми это было в той точке, и можно отобразить время выполнения сценария и порядок.

2
ответ дан Biri 24 November 2019 в 06:34
поделиться

Или.... Назовите свой основной .bat файл из другого .bat файла и произведите результат в файл результата т.е.

runner.bat> mainresults.txt

, Где runner.bat называет основной .bat файл

, необходимо видеть все действия, выполненные в основном .bat файле теперь

1
ответ дан 24 November 2019 в 06:34
поделиться

удалить @ECHO OFF и вызовите ваш командный файл перенаправить ВСЕ выходные данные в файл журнала ..

c:> yourbatch.bat (необязательные параметры)> yourlogfile.txt 2> & 1

, найденный по адресу http: // www .robvanderwoude.com / battech_debugging.php

ЭТО РАБОТАЕТ !! не забывайте 2> & 1 ...

WIZ

6
ответ дан 24 November 2019 в 06:34
поделиться

или, откройте окно cmd, затем вызовите пакет оттуда, вывод будет на экране.

-3
ответ дан 24 November 2019 в 06:34
поделиться

Я нашел программу 'running steps' (win32), делающую именно то, что я искал: http://www.steppingsoftware.com/

Вы можете загрузить bat-файл, расставить точки останова / начать выполнять шаги, просматривая выходные данные и переменные окружения.

Ознакомительная версия позволяет просмотреть только 50 строк... Есть ли у кого-нибудь бесплатная альтернатива с аналогичной функциональностью?

8
ответ дан 24 November 2019 в 06:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: