Лучший бесплатный ресурс для изучения продвинутого использования пакетного файла? - PullRequest
7 голосов
/ 08 октября 2008

Каковы лучшие бесплатные ресурсы для изучения расширенного использования пакетного файла?

Ответы [ 6 ]

20 голосов
/ 08 октября 2008

Это не бесплатно, но, наверное, лучше. «Сценарии оболочки Windows NT» Тима Хилла .

Тем не менее, всякий раз, когда я пытаюсь сделать что-то «продвинутое» в командных файлах cmd, я всегда заканчиваю тем, что сожалею об этом.

Всегда.

edit: некоторые объяснения недостатков командных файлов:

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

Тогда есть, казалось бы, бесконечные биты странностей, угловых случаев и несоответствий, с которыми вы сталкиваетесь на каждом шагу.

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

4 голосов
/ 08 октября 2008

Чтобы получить справку по командам, этот файл .bat поместит справку по всем командам в красивую HTML-страницу: http://www.robvanderwoude.com/files/allhelp.zip

У этого парня есть и другие интересные вещи .bat. http://www.robvanderwoude.com/batexamples_a.html

4 голосов
/ 08 октября 2008

Также рассмотрите возможность обучения Windows Scripting Host в качестве альтернативы пакетному скриптингу. Вы можете использовать свой выбор языков для написания скриптов (JScript, VBScript, даже Python). Он поддерживается всеми современными версиями Windows и предоставляет многофункциональную библиотеку функций, которая позволяет сравнивать пакетные файлы примитивно.

Что я говорю? Пакетные файлы Windows ARE примитив.

Вы также можете создавать многократно используемые библиотеки WSH, модули и т. Д. По сравнению с пакетными файлами была некоторая кривая обучения, но она того стоила. Мои друзья по Linux больше не смеются над моей плохой скриптовой средой. Теперь они просто высмеивают мою низшую ОС.

3 голосов
/ 08 октября 2008

Возможно переполнение стека?

https://stackoverflow.com/questions/tagged/batch-file

Что мне показалось действительно полезным, так это сохранить всю встроенную справку cmd.exe в файлы. В cmd.exe введите «help», который покажет вам большой список команд, по которым вы можете получить справку, для каждого из этих типов «help », затем сохраните результаты в файлах с соответствующим именем. Лично мне намного удобнее читать справочную информацию в виде файла.

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

3 голосов
/ 08 октября 2008

Я нашел это полезным: http://www.ss64.com/ntsyntax/

...