![]() |
Обработка нескольких файлов батником
Здравствуйте.
Заранее приношу извинения - если похожая задача уже была. Параллельно веду поиск по форуму (тут быстрее указать могут ссылку) ТО задачи. Есть n-ое количество файлов формата *.snd в одной папке. В каждом файле есть n-ое количество строк начинающихся символами $U (всегда одна строка есть и максимум не лимитирован) . Все строки начинающиеся на $U не более 200 символов. Результатом должен быть один файл (можно как пример rez.txt) в котором должны быть Пример результата имя файла , вся строка что начинается с $U name1.snd $U,U=xxxx,R=yyyy,B=zzzz,N=nnnnnn,A=ss,S=w,L=ttttttttt,I=z (если не одна строка тогда name1.snd $U,U=xxxx,R=yyyy,B=zzzz,N=nnnnnn,A=ss,S=w,L=ttttttttt,I=z name1.snd $U,U=xxxx,R=yyyy,B=zzzz,N=nnnnnn,A=ss,S=w,L=ttttttttt,I=z name1.snd $U,U=xxxx,R=yyyy,B=zzzz,N=nnnnnn,A=ss,S=w,L=ttttttttt,I=z Файл результата должен дописываться - изначально он отсутствует. Пример - name1.snd $U,U=xxxx,R=yyyy,B=zzzz,N=nnnnnn,A=ss,S=w,L=ttttttttt,I=z ............... name2.snd $U,U=xxxx,R=yyyy,B=zzzz,N=nnnnnn,A=ss,S=w,L=ttttttttt,I=z ............... nameN.snd $U,U=xxxx,R=yyyy,B=zzzz,N=nnnnnn,A=ss,S=w,L=ttttttttt,I=z Названия файлов цифровые - но могут быть не по порядку. Количество файлов может быть от 10 и больше (граничное количество - размер винчестера) Просьба помочь. |
Если не критично чтобы имя файла и строка разделялись именно пробелом, то можно так.
Код:
findstr /B $U *.snd >> result.log |
Цитата:
Это как раз то - что нужно ) Далее усложнять не надо - этот результат все равно в прогу передаеться и обрабатывается по по маске *.snd и меткам (U,R,B,N и т.д.) Спасибо большое ) |
Я, конечно, извиняюсь. НО принесли небольшое изменение в ТО... Нужно еще после имени файла в итог получать дату создания файла...
|
for %%f in (*.snd) do (
for /F "delims=" %%s in ('findstr /B $U %%f') do echo %%f %%~tf %%s >> result.log ) Но тут к дате ещё бесплатно добавляется время создания. Надо ли его убирать ? |
|
Время: 21:29. |
Время: 21:29.
© OSzone.net 2001-