![]() |
*CMD/BAT*.Помогите с батником.
Подскажите как написать правильно командный файл, который:
- выводил бы по одному имена всех файлов из указанного каталога, соответствующих указанной маске - каталог и маска указываются из командной строки и передаются в командный файл как параметры -если не указана маска, применяется маска *.* -если не указан каталог, обрабатывается текущий каталог. У меня пока получилось выводить все файлы из каталога откуда запускается прога Код:
pusd ![]() Код:
@echo off |
Перенес из "ХВЗ" в "Програмирование"...
|
Разобрался с этим батником, теперь проблема с другим. =\
Код:
@echo off Второй вариант. Код:
@echo off Нужно создать такой батник, чтобы он просматривал каталог, заползал в папку(в первую, во вторую и т.д) находит .rar файл, брал заархивированный файл, разархивировал его потом вызывал удаленный батник через call , а тот батник который запускался бы производил бы поиск определенного текста в разархивированном файле. (поиск текста, при помощи юниксовой утилиты grep для винды) после нахождения текст вписывается в отдельный файл, а тот в котором производился поиск удалялся. Код:
07.06.2007 17:19 <DIR> 20070420 upd В удаленном батнике содержание такое Код:
grep -h -A 1 -E "err" *.log>>E:\result.lst Суть программы 1. файл разархивируется. 2.Поиск в этом файле, запись найденого результата 3. Удаление файла в котором производился поиск. И если у меня в папке несколько файлов заархивированных то нужно, чтобы все происходило по очередно, т.е. в папке 1.rar 2.rar 3.rar Нужно, чтоб сначало разархивился 1.rar файл который был в архиве извлекается в тек каталог, в нем производится поиск(в извлеченном файле), результаты поиска записываются в E:\result.lst В файле в котором производился поиск удаляется (архив остается на месте), потом идет 2.rar Код:
for %%i in (*.rar) do rar :( |
pingUIN
Цитата:
Код:
@echo off |
Чтоб в дальнейшем по проще было можешь дать краткое пояснение ?
Мне вот хочется понять Код:
в for /f указывал "tokens=* delims=" - что обозначают эти ключевые слова разбора.(в справке запутанное объяснение %~dpI = Замена %I именем диска и путем. %~nxI = Замена %I именем файла и расширением. как доступно понять это выражение. Просто второй день и мозг кипит уже. Спасибо за внимание. uptd. Если я правильно понял то в случае с %%~dpi и %%~nxi Все пути и расширения берутся из for /f "tokens=* delims=" %%i in ('DIR /S /B %ROOT%\*.rar') Един-ое, что не понятно, это ключевое выражение |
pingUIN Зайди в Задачи на bat-файлах на Ru-Board.
Более ста страниц форума посвящено этой теме. Наверняка что нибудь найдёшь для себя. Пакет утилит для организации интерфейса в BAT(CMD)-программах |
Да мне бы щас просто пояснение услышать, а за ссылку большое спасибо.
Цитата:
Просто в батнике с grep я могу задавать условия поиска в один файл количество совпадений, а в другой сами результаты. UPDATE можно как нибудь оттянуть выполнение команды del секунд на 30, 40 ? Времени не хватает, чтобы из 70 метрового файла выдрать то что нужно |
Может кто подсказать, если я не указал значение ROOT как мне сделать, чтоб за путь считался текущий каталог (с папками) откуда был произведен запуск ?
Код:
@echo off Код:
SET ROOT=%1 |
pingUIN
Цитата:
Цитата:
Цитата:
Цитата:
|
Время: 14:32. |
Время: 14:32.
© OSzone.net 2001-