我在 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-2
是options
字符串表示您希望每行包含第一个和第二个单词。 %%A
指定是%%A
将第一个单词读入的变量;隐式/自动将第二个单词放入%%B
。然后使用并将命令设置为文件中的两个单词来echo
执行。%%A
%%B
笔记:如果您直接在命令提示符中输入此命令,则可以使用%A
和%B
,但是在脚本(批处理文件)中执行相同操作时必须使用双百分号。