我有一个名为的文件file.txt
,其中包含,
American 9876543 [email protected]
Australian 7674840 [email protected]
Indian 9364906 [email protected]
Chinese 6383936 [email protected]
Japanese 9363839 [email protected]
现在我想从这个文件中过滤三项内容作为另一个文本文件的输出。
例如,
输出file1.txt
- 需要包含所有邮件 ID
[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
进一步阅读
- Windows CMD 命令行的 AZ 索引
- Windows CMD 命令的分类列表
- 对于/f- 循环命令以执行另一个命令的结果。
- 重定向- 重定向运算符。
- 类型- 显示一个或多个文本文件的内容。