Войти

Показать полную графическую версию : Необходимо из множества файлов скопировать строки содержащие слово


Борис_Спектор@vk
02-02-2017, 12:20
Здравствуйте. Необходимо из большого множества csv файлов взять строки содержащие определенное слово "Ссылка$%" и скопировать в один тхт файл. Подскажите пожалуйста как это можно сделать

Elven
02-02-2017, 14:50
findstr /?

megaloman
02-02-2017, 18:56
Борис_Спектор@vk, У меня не получилось искать Ссылка$% @Echo off
Chcp 1251 >nul

Set "From=Z:\Box_In\Большое множество csv файлов\*.csv"
Set "To=Z:\Box_Out\один тхт файл.txt"

Set "Word=Ссылка$"

Del "%To%" 2>nul

FOR %%f IN ("%From%") DO (
FOR /F "usebackq Skip=2 delims=[]" %%n IN (`Find /N "%Word%" "%%f"`) DO Call :OutFile "%%f" %%n
)
Goto :Eof

:OutFile
Set /A NN=%2-1
FOR /F "usebackq delims=" %%k IN (`More %1 +%NN%`) DO >>"%To%" (Echo %%k)&GoTo :Eof
GoTo :Eof
Если .csv-файлы в кодировке 1251, то и батник надо делать в этой же кодировке.
Если .csv в 866 кодировке, то сохранить и батник в той же кодировке и убрать строку с chcp

Борис_Спектор@vk
02-02-2017, 19:13
Спасибо




© OSzone.net 2001-2012