Шаг 15 - Работа с файлами из BAT файлов

Здравствуйте. Прочитал вашу новую рубрику про Bat-файлы. Очень полезная вещь. Сегодня мы, Windows-пользователи, забыли про командные строки напрочь, а это плохо, потому что, благодаря им, можно здорово автоматизировать некоторые операции. Я частенько использую команду for, чем и хочу с вами поделиться.

Пример 1: Вы хотите подсчитать количество строк в текущей директории во всех файлах *.cpp и *.h. У Вас, к примеру, есть программа linecount.exe, которая считает строки для указанного ей при запуске файла. Как с помощью BAT-файла пересчитать все *.cpp и *.h? Можно вот так:

echo "Found Files" >result_file.txt 
for %%a in (*.cpp, *.h) do linеcount %%a >>result_file.txt 

Эти же команды можно набирать непосредственно в командной строке, но тогда вместо %%a пишется .

В конструкции for можно через запятую указывать не только маски, но и имена, что можно продемонстрировать следующим примером.

Пример 2: Нам нужно создать на диске папки с именами '1', '2', ........ (Задача не очень то умная, но это первое что пришло мне в голову. Главное - идея)

for %%a in (1, 2, 3, 4, 5 ) do mkdir %%a 

Просто, неправда? И главное - быстро. Пример можно усложнить, добавив к созданию папки копирование в нее какого-либо файла, что например, может быть полезно при копировании данных на дискету. Резервирование данных в 5 директориях, скорее всего, поможет считать записанную информацию дома, если только не испортится нулевая дорожка :-)

Не забывайте, что в BAT-файлах для переменных вы должны использовать префикс %%, а в командной строке - %.

С ув. Фадеев Роман roman@proton-sss.ru


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 13.02.2002