Составители:
21
:NoSuchFile
rem Файл не найден. Выводим сообщение и создаем пустой файл
echo Файл '%1' не найден.
copy nul %1
Наконец, последний вариант условной команды:
if cmdextversion число команда [else команда]
ставит выполнение команды в зависимость от внутреннего номера версии теку-
щей реализации расширенной обработки команд Номер версии будет увеличи-
ваться на единицу при каждом добавлении существенных возможностей расши-
ренной обработки команд. Таким образом можно адаптировать работу командно-
го файла к возможностям установленной на компьютере командной оболочки.
Если расширенная обработка команд отключена, условие cmdextversion не будет
истинно.
Организация циклов в командных файлах
Циклическое повторение некоторого фрагмента командного файла можно
организовать с использованием пары команд if и goto. Но гораздо эффективнее
использовать для этих целей команду for. Команда for обеспечивает выполнение
заданной команды (группы команд) для всех элементов некоторого множества
(например, для всех файлов в папке). Обобщенный синтаксис команды for:
for {%переменная|%%переменная} in (множество) do команда
[Параметры]
Чтобы скопировать содержимое всех файлов, имеющих разрешение .log или
.txt в текущем каталоге в один файл all.txt с помощью заменяемой переменной
%%f, можно использовать следующую команду:
for %%f in (*.log *.txt) do type %%f >>all.txt
В приведенном примере каждый файл с расширением .log или .txt в теку-
щем каталоге будет подставляться вместо переменной %%f, пока не будут обра-
ботаны все файлы с таким расширением. Чтобы использовать данную команду
непосредственно в командной строке, а не в командном файле, следует заменить
все вхождения %%f на %f. В противном случае переменная игнорируется, и ото-
бражается сообщение об ошибке.
В качестве элементов множества перебираемых элементов могут быть
представлены любые строки, в этом случае переменная цикла по очереди примет
значение каждой из этих строк. Например, так мы можем создать 5 папок с пре-
допределенными названиями в текущей папке:
for %%f in (help work out bin “my files”) do md %%f
Существуют дополнительные синтаксические конструкции использования
команды for. Одна из них реализуется, если указать в команде for ключ /D:
for /D %переменная in (набор) do команда [параметры]
:NoSuchFile rem Файл не найден. Выводим сообщение и создаем пустой файл echo Файл '%1' не найден. copy nul %1 Наконец, последний вариант условной команды: if cmdextversion число команда [else команда] ставит выполнение команды в зависимость от внутреннего номера версии теку- щей реализации расширенной обработки команд Номер версии будет увеличи- ваться на единицу при каждом добавлении существенных возможностей расши- ренной обработки команд. Таким образом можно адаптировать работу командно- го файла к возможностям установленной на компьютере командной оболочки. Если расширенная обработка команд отключена, условие cmdextversion не будет истинно. Организация циклов в командных файлах Циклическое повторение некоторого фрагмента командного файла можно организовать с использованием пары команд if и goto. Но гораздо эффективнее использовать для этих целей команду for. Команда for обеспечивает выполнение заданной команды (группы команд) для всех элементов некоторого множества (например, для всех файлов в папке). Обобщенный синтаксис команды for: for {%переменная|%%переменная} in (множество) do команда [Параметры] Чтобы скопировать содержимое всех файлов, имеющих разрешение .log или .txt в текущем каталоге в один файл all.txt с помощью заменяемой переменной %%f, можно использовать следующую команду: for %%f in (*.log *.txt) do type %%f >>all.txt В приведенном примере каждый файл с расширением .log или .txt в теку- щем каталоге будет подставляться вместо переменной %%f, пока не будут обра- ботаны все файлы с таким расширением. Чтобы использовать данную команду непосредственно в командной строке, а не в командном файле, следует заменить все вхождения %%f на %f. В противном случае переменная игнорируется, и ото- бражается сообщение об ошибке. В качестве элементов множества перебираемых элементов могут быть представлены любые строки, в этом случае переменная цикла по очереди примет значение каждой из этих строк. Например, так мы можем создать 5 папок с пре- допределенными названиями в текущей папке: for %%f in (help work out bin “my files”) do md %%f Существуют дополнительные синтаксические конструкции использования команды for. Одна из них реализуется, если указать в команде for ключ /D: for /D %переменная in (набор) do команда [параметры] 21
Страницы
- « первая
- ‹ предыдущая
- …
- 19
- 20
- 21
- 22
- 23
- …
- следующая ›
- последняя »