|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - *CMD/BAT*.Помогите с батником. |
|
CMD/BAT - *CMD/BAT*.Помогите с батником.
|
Пользователь Сообщения: 137 |
Профиль | Отправить PM | Цитировать
Подскажите как написать правильно командный файл, который:
- выводил бы по одному имена всех файлов из указанного каталога, соответствующих указанной маске - каталог и маска указываются из командной строки и передаются в командный файл как параметры -если не указана маска, применяется маска *.* -если не указан каталог, обрабатывается текущий каталог. У меня пока получилось выводить все файлы из каталога откуда запускается прога update |
|
------- Отправлено: 15:24, 07-06-2007 |
Человек Сообщения: 3313
|
Профиль | Отправить PM | Цитировать Перенес из "ХВЗ" в "Програмирование"...
|
------- Отправлено: 16:04, 07-06-2007 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 137
|
Профиль | Отправить PM | Цитировать Разобрался с этим батником, теперь проблема с другим. =\
@echo off pushd %1 IF "%2"=="" goto n2 for %%i in (%2) do @echo %%i goto n3 :n2 SET nol=*.* for %%i in (%nol%) do @echo %%i :n3 popd pause Второй вариант. @echo off pushd %1 SET nol=%2 IF "%2"=="" SET nol=*.* for %%i in (%nol%) do @echo %%i popd pause Нужно создать такой батник, чтобы он просматривал каталог, заползал в папку(в первую, во вторую и т.д) находит .rar файл, брал заархивированный файл, разархивировал его потом вызывал удаленный батник через call , а тот батник который запускался бы производил бы поиск определенного текста в разархивированном файле. (поиск текста, при помощи юниксовой утилиты grep для винды) после нахождения текст вписывается в отдельный файл, а тот в котором производился поиск удалялся. 07.06.2007 17:19 <DIR> 20070420 07.06.2007 17:19 <DIR> 20070421 07.06.2007 17:19 <DIR> 20070422 07.06.2007 17:36 104 name.bat upd В удаленном батнике содержание такое нужна подсказка, плиз хелп. Суть программы 1. файл разархивируется. 2.Поиск в этом файле, запись найденого результата 3. Удаление файла в котором производился поиск. И если у меня в папке несколько файлов заархивированных то нужно, чтобы все происходило по очередно, т.е. в папке 1.rar 2.rar 3.rar Нужно, чтоб сначало разархивился 1.rar файл который был в архиве извлекается в тек каталог, в нем производится поиск(в извлеченном файле), результаты поиска записываются в E:\result.lst В файле в котором производился поиск удаляется (архив остается на месте), потом идет 2.rar что дальше понятия не имею :( |
------- Последний раз редактировалось pingUIN, 07-06-2007 в 18:37. Отправлено: 16:42, 07-06-2007 | #3 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать pingUIN
Цитата:
|
|
Отправлено: 09:27, 08-06-2007 | #4 |
Пользователь Сообщения: 137
|
Профиль | Отправить PM | Цитировать Чтоб в дальнейшем по проще было можешь дать краткое пояснение ?
Мне вот хочется понять в for /f указывал "tokens=* delims=" - что обозначают эти ключевые слова разбора.(в справке запутанное объяснение CD /D %%~dpi rar e %%~nxi *.log %~dpI = Замена %I именем диска и путем. %~nxI = Замена %I именем файла и расширением. как доступно понять это выражение. Просто второй день и мозг кипит уже. Спасибо за внимание. uptd. Если я правильно понял то в случае с %%~dpi и %%~nxi Все пути и расширения берутся из for /f "tokens=* delims=" %%i in ('DIR /S /B %ROOT%\*.rar') Един-ое, что не понятно, это ключевое выражение |
|
Отправлено: 09:42, 08-06-2007 | #5 |
Ветеран Сообщения: 20067
|
Профиль | Отправить PM | Цитировать pingUIN Зайди в Задачи на bat-файлах на Ru-Board.
Более ста страниц форума посвящено этой теме. Наверняка что нибудь найдёшь для себя. Пакет утилит для организации интерфейса в BAT(CMD)-программах |
------- Последний раз редактировалось yurfed, 08-06-2007 в 10:29. Отправлено: 09:57, 08-06-2007 | #6 |
Пользователь Сообщения: 137
|
Профиль | Отправить PM | Цитировать Да мне бы щас просто пояснение услышать, а за ссылку большое спасибо.
Цитата amel27:
Просто в батнике с grep я могу задавать условия поиска в один файл количество совпадений, а в другой сами результаты. UPDATE можно как нибудь оттянуть выполнение команды del секунд на 30, 40 ? Времени не хватает, чтобы из 70 метрового файла выдрать то что нужно |
|
------- Последний раз редактировалось pingUIN, 08-06-2007 в 15:34. Причина: не понятно Отправлено: 10:11, 08-06-2007 | #7 |
Пользователь Сообщения: 137
|
Профиль | Отправить PM | Цитировать Может кто подсказать, если я не указал значение ROOT как мне сделать, чтоб за путь считался текущий каталог (с папками) откуда был произведен запуск ?
@echo off SET ROOT=%1 IF "%1"=="" SET ROOT= что за значение подставлять, не знаю =\ rem если например использовать goto каким выражением можно будет воспользоваться for /f "tokens=* delims=" %%i in ('DIR /S /B %ROOT%\*.rar') do ( CD /D %%~dpi rar e %%~nxi *.log grep -h -A 1 -E "err" *.log >>E:\result.lst del /F/Q *.log ) SET ROOT=%1 IF "%1"=="" goto v1 for /f "........" %%i итакдалее :v1 for /f "tokens=* delims=" %%i in ('DIR /S /B *.rar') do ( CD /D %%~dpi rar e %%~nxi *.log ) |
------- Отправлено: 15:44, 08-06-2007 | #8 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать pingUIN
Цитата:
Цитата:
Цитата:
Цитата:
|
||||
Отправлено: 07:55, 09-06-2007 | #9 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - [решено] Не запускаются .bat .cmd файлы | aifam | Microsoft Windows 2000/XP | 28 | 18-03-2021 00:30 | |
Разное - [решено] перезагрузка из .bat или .cmd | San_dr | Программирование и базы данных | 7 | 03-08-2011 01:58 | |
CMD/BAT - [решено] Помогите запустить CMD-файл из CMD-файла с параметрами | Oleg48 | Скриптовые языки администрирования Windows | 2 | 18-11-2009 11:08 | |
Помогите пожалуйста не срабатывает команда из*cmd файла запускаемого из RanOnceEx.cmd | vovchiku | Автоматическая установка Windows 2000/XP/2003 | 6 | 25-09-2007 23:38 | |
BAT-файлы в WindowsXP (окно CMD) | Alick | Microsoft Windows 2000/XP | 4 | 14-12-2005 00:03 |
|