Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Необходимо из множества файлов скопировать строки содержащие слово (http://forum.oszone.net/showthread.php?t=323410)

Борис_Спектор@vk 02-02-2017 12:20 2708283

Необходимо из множества файлов скопировать строки содержащие слово
 
Здравствуйте. Необходимо из большого множества csv файлов взять строки содержащие определенное слово "Ссылка$%" и скопировать в один тхт файл. Подскажите пожалуйста как это можно сделать

Elven 02-02-2017 14:50 2708326

Код:

findstr /?

megaloman 02-02-2017 18:56 2708391

Борис_Спектор@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 2708399

Спасибо


Время: 22:36.

Время: 22:36.
© OSzone.net 2001-