У меня есть несколько текстовых файлов, содержащих тысячи электронных писем для маркетинга. Эти файлы содержат также другую информацию, чем эти письма. Можно ли с помощью cmd
выбрать все эти файлы вместе, отфильтровать эти электронные письма специально и вывести их в документ Excel?
2 ответа
Стандартная утилита "найти", синтаксис и доступные опции показаны:
C:\> find /?
Пример сеанса в командной строке:
cd /d C:\ dir /s /b >FILES.txt find /i "calc" FILES.txt ...
... может отображать путь и имя файла EXE-файла Windows Calculator.
Если вы хотите найти более одного поискового запроса, используйте каналы; как в:
find /i "text for first coarse search" FILES.txt | find /i "fine tune it" | find /i "yet more fine tuned"
Если вы хотите еще больше опций, попробуйте найти утилиту "grep" для Windows, но тогда вам нужно будет понимать "регулярные выражения" - как всегда; поскольку удобство увеличивается, сложность склонна делать то же самое.
Я обновил свой скрипт jgrep.bat, чтобы иметь возможность этого с новым флагом -o
. Чтобы использовать его для вашей проблемы, вам нужно скопировать скрипт в папку, где у вас есть эти файлы, затем создать новый файл и добавить его к нему:
@echo off
cd "%~dp0"
FOR /R . %%G IN (*.txt) DO @jgrep.bat -o "[A-Za-z0-9/-_.]+@[A-Za-z0-9\-_.]+" < "%%G"
pause
Это должно делать то, что вы хотите. Просто скопируйте эти результаты в таблицу Excel.