
У меня есть файл, который называется file.txt
, который содержит,
American 9876543 [email protected]
Australian 7674840 [email protected]
Indian 9364906 [email protected]
Chinese 6383936 [email protected]
Japanese 9363839 [email protected]
Теперь я хочу отфильтровать три вещи из этого файла и вывести их в другой текстовый файл.
Например,
вывод file1.txt
- необходимо содержать все почтовые идентификаторы
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
вывод file2.txt
- должен содержать все числа
9876543
7674840
9364906
6383936
9363839
вывод file3.txt
- должен содержать только последовательность слов, начинающуюся с A,
например,
American
Australian
Для этого я попробовал использовать команды FC и Findstr. И я понятия не имею, как правильно это сделать с помощью этих команд.
Пожалуйста, помогите.. Заранее спасибо..
решение1
Я хочу отфильтровать три вещи из этого файла и вывести их в другой текстовый файл.
Вам не нужно fc
или findstr
для этого. for /f
Достаточно простой команды.
Используйте следующий пакетный файл (test.cmd):
@echo off
setlocal enabledelayedexpansion
for /f "usebackq tokens=1-3" %%a in (`type file.txt`) do (
echo %%a >> file3.txt
echo %%b >> file2.txt
echo %%c >> file1.txt
)
endlocal
Пример использования:
> type file.txt
American 9876543 [email protected]
Australian 7674840 [email protected]
Indian 9364906 [email protected]
Chinese 6383936 [email protected]
Japanese 9363839 [email protected]
> test
> type file1.txt
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
> type file2.txt
9876543
7674840
9364906
6383936
9363839
> type file3.txt
American
Australian
Indian
Chinese
Japanese
Дальнейшее чтение
- Индекс AZ командной строки Windows CMD
- Категоризированный список команд Windows CMD
- для /ф- Циклическая команда по результатам другой команды.
- перенаправление- Операторы перенаправления.
- тип- Отображение содержимого одного или нескольких текстовых файлов.