Windows отладчик пакетных файлов? - PullRequest
4 голосов
/ 13 мая 2009

Существует ли такая программа, как Visual Studio, которая позволяет отлаживать (dos) пакетные файлы? Какие методы я могу использовать для отладки? Мартин Браун ответил на вопрос о пакетном файле с хорошим циклом for / each. Мне бы очень хотелось видеть значения переменных в цикле.

for /R A %i IN (*.jpg) DO xcopy %i B /M

Ответы [ 6 ]

5 голосов
/ 14 мая 2009

Чтобы вывести значения переменных в цикле, вы можете попробовать:

for /l %A in (1,1,10) do (
    @echo %A
)

Если вы хотите остановиться и проверить каждую строку во время ее выполнения, попробуйте:

for /l %A in (1,1,10) do (
    @echo %A
    pause
)

, который будет останавливать скрипт на каждой итерации.

Ваш пример выглядит как скрипт резервного копирования для изображений;

for /R %i in (*.jpg) do (
    @echo %i
    xcopy %i %DESTINATION% /M
)

Если вы создадите сценарий этого, вы можете передать весь вывод в файл журнала, просто не забудьте использовать %% i вместо% i, если вы не печатаете это в оболочке.

2 голосов
/ 17 мая 2011

Выполнение шагов похоже на IDE. Вы получаете «Анализатор», который является эквивалентом компилятора. Он показывает вам ошибки и предупреждения в вашем коде. Он имеет интегрированную среду, которая позволяет вам переходить в нее и т. Д. Он даже развертывает циклы, которые я нахожу удивительными. Проверьте это на http://www.steppingsoftware.com. Это мне очень помогло.

2 голосов
/ 17 июня 2009

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

2 голосов
/ 13 мая 2009

Вы имеете в виду, кроме того, что делаете эхо ЗДЕСЬ Я типа вещей? Я не знаю ни одного. я просто отлаживаю свои командные файлы, напоминая действия и добавляя эхо, пока не узнаю, что оно работает правильно. я также написал свое собственное однострочное приложение «outputdebugstring», которое отправляет отладчику что-либо из его командной строки, но это, вероятно, не требуется для большинства пакетов, где вы можете просто посмотреть на экран. вставка "паузы" может также помочь замедлить ход событий.

С наилучшими пожеланиями дон

1 голос
/ 13 мая 2009

Я использую Блокнот ++, чтобы по крайней мере дать мне цветовое кодирование, когда я пишу / изменяю.

1 голос
/ 13 мая 2009

Как VS? Не то, что я знаю.

Что касается значений переменных, вы всегда можете их распечатать.

...