使用批处理从文本文件中获取文本或序列?

使用批处理从文本文件中获取文本或序列?

我有一个名为的文件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

进一步阅读

相关内容