Назад | Перейти на главную страницу

Пакетные файлы: if-then-else и синтаксис цикла в Windows?

Я хочу написать командный файл, и мы хотим использовать операторы if-then-else и for loop, но я не знаю этого и его варианта.

Кто-нибудь может мне помочь?

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

Начиная с Windows 2000 MS предоставляет «Windows Scripting Host», который позволяет создавать сценарии задач с использованием либо VBScript (предпочтительно, если у вас есть опыт работы с VB6 или «классическим» ASP), либо JScript (реализация Microsoft Javascript). Видеть Документация MS для справочной информации, и есть много онлайн-руководств. Конечно, некоторые простые задачи, для которых используются командные файлы, больше работают в WSH (копирование и перемещение файлов с помощью FileSystemObject занимает несколько строк кода больше, чем просто "copy x y"в пакетном файле, например), поэтому пакетный файл может быть лучшим инструментом для выполняемой работы, даже если параметры управления потоком очень неуклюжи.

А также есть PowerShell, доступный для XP / 2003 и выше, который также имеет гораздо более выразительный набор функций сценариев (хотя у меня не было возможности поиграть с PS, поэтому я не могу комментировать, как он сравнивается с другими вариантами).

Если вы знакомы с системами типа unix, вы можете передать часть этих знаний, имея что-то вроде bash установлен (у меня Cygwin установлен на всех ящиках Windows, и использовать bash и все другие распространенные инструменты, такие как rsync и утилиты обработки текста GNU через порты cygwin).

У Microsoft обычно есть хорошая информация на своем веб-сайте. Вот информация о командных файлах.