2008-10-07 5 views
7

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

+0

Любые причины, по которым вы попадаете в пакетные файлы, а не в PowerShell? Работа со старыми версиями DOS/Windows или что-то еще? – 2008-10-07 23:02:10

ответ

16

Это не бесплатно, но это, вероятно, лучше всего. "Windows NT Shell Scripting" by Tim Hill.

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

Всегда.

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

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

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

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

+0

Вместо этого вы предлагаете использовать скриптовый язык? – 2008-10-07 23:01:13

3

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

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

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

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

4

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

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

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

Смежные вопросы