Форум: "Потрепаться";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];
Внизкак запустить из батника несколько екзешников, без явного указани Найти похожие ветки
← →
Blackweber (2003-07-01 10:49) [0]сабж
← →
Blackweber (2003-07-01 10:50) [1]как запустить из батника несколько екзешников, без явного указания имени каждого???
← →
Думкин (2003-07-01 10:58) [2]Из батника запускаешь другой батник - в коем твои имена.
Или ты о масках?
← →
Фикус (2003-07-01 11:06) [3]Blackweber © (01.07.03 10:49)
есть подозрение, что без другой исполняемой программы не обойтись.
← →
vidiv (2003-07-01 11:07) [4]FOR /?
← →
panov (2003-07-01 11:08) [5]поколдовать.
← →
vidiv (2003-07-01 11:09) [6]Выполнение указанной команды для каждого файла набора.
FOR %переменная IN (набор) DO команда [параметры]
%переменная Подставляемый параметр.
(набор) Набор, состоящий из одного или нескольких файлов.
Допускается использование подстановочных знаков.
команда Команда, которую следует выполнить для каждого файла.
параметры Параметры и ключи для указанной команды.
В пакетных файлах для команды FOR используется запись
%%переменная вместо %переменная. Имена переменных
учитывают регистр букв (%i отличается от %I).
Добавление поддерживаемых вариантов команды FOR при включении расширенной
обработки команд:
FOR /D %переменная IN (набор) DO команда [параметры]
Если набор содержит подстановочные знаки, команда выполняется для всех
подходящих имен каталогов, а не имен файлов.
FOR /R [[диск:]путь] %переменная IN (набор) DO команда [параметры]
Выполнение команды для каталога [диск:]путь, а также для всех
подкаталогов этого пути. Если после ключа /R не указано имя каталога,
выполнение команды начинается с текущего каталога.
Если вместо набора указана только точка (.), команда выводит список
всех подкаталогов.
FOR /L %переменная IN (начало,шаг,конец) DO команда [параметры]
Набор раскрывается в последовательность чисел с заданными началом, концом
и шагом приращения. Так, набор (1,1,5) раскрывается в (1 2 3 4 5),
а набор (5,-1,1) заменяется на (5 4 3 2 1)
FOR /F ["ключи"] %переменная IN (набор) DO команда [параметры]
FOR /F ["options"] %variable IN ("literal string") DO command [command-parameter
s]
FOR /F ["options"] %variable IN ("command") DO command [command-parameters]
or, if usebackq option present:
FOR /F ["options"] %variable IN (filenameset) DO command [command-parameters]
FOR /F ["options"] %variable IN ("literal string") DO command [command-parameter
s]
FOR /F ["options"] %variable IN (`command`) DO command [command-parameters]
Набор содержит имена одного или нескольких файлов, которые по очереди
открываются, читаются и обрабатываются. Обработка состоит в чтении
файла, разбивки его на отдельные строки текста и выделения из каждой строки
заданного числа подстрок (в том числе нуля). Затем найденная подстрока
используется в качестве значения переменной при выполнении основного
тела цикла. По умолчанию ключ /F выделяет из каждой строки файла
первое слово, очищенное от окружающих его пробелов. Пустые строки
в файле пропускаются. Необязательный параметры "ключи" служит для
переопределения заданных по умолчанию правил обработки строк. Ключи
представляют собой заключенную в кавычки строку, содержащую указанные
different parsing options. The keywords are:
eol=c - определение символа комментариев в конце строки
(допускается задание только одного символа).
skip=n - число пропускаемых при обработке строк в начале
файла.
delims=xxx - определение набора разделителей для замены заданных
по умолчанию пробела и знака табуляции.
tokens=x,y,m-n - определение номеров подстрок, выделяемых из каждой
строки файла и передаваемых для выполнения в тело
цикла. При использовании этого ключа создаются
дополнительные переменные. Формат m-n представляет
собой диапазон подстрок с номерами от m по n. Если
последний символ в строке tokens= является звездочкой,
создается дополнительная переменная, значением
которой будет весь оставшийся текст в строке после
обработки последней подстроки.
usebackq - применение новой семантики, при которой строки,
заключенные в обратные кавычки, выполняются как
команды, строки, заключенные в прямые одиночные
кавычки, являются строкой литералов команды, а
строки, заключенные в двойные кавычки, используются
для выделения имен файлов в списках имен файлов.
← →
vidiv (2003-07-01 11:10) [7]
Вот поясняющий пример:
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k
Эта команда обрабатывает файл myfile.txt, пропускает все строки, которые
начинаются с символа точки с запятой, и передает вторую и третью подстроки
из каждой строки в тело цикла, причем подстроки разделяются запятыми и/или
пробелами. В теле цикла переменная %i используется для второй подстроки,
%j - для третьей, а %k получает все оставшиеся подстроки после третьей.
Переменная %i явно описана в инструкции for, а переменные %j и %k
описываются неявно с помощью ключа tokens=. Ключ tokens= позволяет извлечь
из одной строки файла до 26 подстрок, то есть запрещено использовать имена
переменных, начинающиеся не с букв английского алфавита (a-z). Следует
помнить, что имена переменных FOR являются глобальными, поэтому одновременно
не может быть активно более 26 переменных.
Синтаксис команды FOR /F также позволяет обработать отдельную строку. Для
этого следует ввести нужную строку в кавычках вместо набора имен файлов
в скобках. Строка будет обработана так, как будто она взята из файла.
Наконец, команда FOR /F позволяет обработать строку вывода другой команды.
Для этого следует ввести строку вызова команды в апострофах вместо набора
имен файлов в скобках. Строка передается для выполнения обработчику
команд CMD.EXE, а вывод этой команды записывается в память и обрабатывается
так, как будто строка вывода взята из файла. Например, следующая
команда:
FOR /F "delims==" %i IN ("set") DO @echo %i
выведет перечень имен всех переменных среды, определенных в настоящее
время в системе.
Операции подстановки ссылок на переменные команды FOR также расширены.
Допускается применение следующих синтаксических конструкций:
%~I - из переменной %I удаляются обрамляющие кавычки (")
%~fI - переменная %I расширяется до полного имени файла
%~dI - из переменной %I выделяется только имя диска
%~pI - из переменной %I выделяется только путь к файлу
%~nI - из переменной %I выделяется только имя файла
%~xI - из переменной %I выделяется расширение имени файла
%~sI - полученный путь содержит только короткие имена
%~aI - переменная %I расширяется до атрибутов файла
%~tI - переменная %I расширяется до даты /времени файла
%~zI - переменная %I расширяется до размера файла
%~$PATH:I - проводится поиск по каталогам, заданным в переменной
среды PATH, и переменная %I заменяется на полное
имя первого найденного файла. Если переменная PATH
не определена или в результате поиска не найден ни
ни один файл, то этот модификатор заменяется на пустую
строку
При объединении нескольких операторов можно получить следующие результаты:
%~dpI - переменная %I заменяется только на имя диска и путь
%~nxI - переменная %I заменяется только на имя файла и его
расширение
%~fsI - переменная %I заменяется только на полный путь с
краткими именами
%~dp$PATH:I - проводится поиск по каталогам, заданным в переменной
среды PATH, и переменная %I заменяется на имя диска
и путь к первому найденному файлу.
%~ftzaI - переменная %I заменяется на строку, выдаваемую
командой DIR
В приведенных выше примерах переменные %I и PATH можно заменить на
любые другие допустимые значения. В таких синтаксических конструкциях
за символами %~ может следовать любое имя переменной цикла FOR.
Рекомендуется использовать заглавные буквы для имен таких переменных,
например, %I, что делает их более заметными, а также позволяет отличать
их от обозначений модификаторов, которые не различают используемый регистр.
← →
panov (2003-07-01 11:21) [8]>vidiv
А кто сказал, что именно ЭТО надо?
Да еще не ниже, чем под WINNT4?
← →
Странник (2003-07-01 12:33) [9]все гораздо проще:
start prg1.exe
start prg2.exe
start prg3.exe
start . // запуск explorer в текущей директории
← →
Фикус (2003-07-01 12:38) [10]Странник © (01.07.03 12:33)
И что? Перечитай вопрос.
← →
Blackweber (2003-07-01 18:14) [11]Да господа, спасибо, хелп я читать умею и на своей машине.
Ну чтож придется любимыеFindFirst, FindNext
юзать?
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.009 c