使用命令提示符 Windows 从 txt 列表中提取文本

使用命令提示符 Windows 从 txt 列表中提取文本

我在 txt 中有一个这样的列表

AAA 1234561
BBB12 66698732
CCCCC 5878471
DD131 262554158

我有一个类似下面的目录

DirectoryA/AAA
DirectoryA/BBB12
DirectoryA/CCCCC
DirectoryA/DD131

我想创建一个给定名称的 txt 文件,我们将其称为 id.txt,其中包含其文件夹的相应代码

So the DirectoryA/AAA/id.txt contains 1234561
DirectoryA/BBB12/id.txt contains 66698732 and so on. 

我尝试使用 /p 提取该行,但它复制整行而不仅仅是 ID。

答案1

for /f "tokens=1-2" %%A in (x.txt) do echo %%B > DirectoryA\%%A\id.txt

讨论:

FOR /?通过在命令提示符中输入内容,您可以获得很多有用的信息。特别是,

FOR /F  ["选项"]  %多变的 IN  (文件集)  DO命令[命令参数]

读取括号中指定的文件(file-set)并将每一行解析成标记。  tokens=1-2options字符串表示您希望每行包含第一个和第二个单词。  %%A指定是%%A将第一个单词读入的变量;隐式/自动将第二个单词放入%%B。然后使用并将命令设置为文件中的两个单词来echo执行。%%A%%B

笔记:如果您直接在命令提示符中输入此命令,则可以使用%A%B,但是在脚本(批处理文件)中执行相同操作时必须使用双百分号。

相关内容