【发布时间】:2012-10-04 14:15:30
【问题描述】:
我有一个 bat 文件,它正在读取另一个 txt 文件并将值发送到外部 exe 文件,该文件使用这些命令生成一个输出文件。
for /f "tokens=*" %%A in (data.txt) do (
:start
XYZ.exe %%A )
data.txt的内容是这样的:
abc 1 2
xyz 2 3
现在,我正在像这样编辑 data.txt:
name of file: mp3
abc 1 2
xyz 2 3
name of file: mp4
sss 1 2
rrr 2 3
name of file: vob
eee 1 2
qqq 2 3
我需要使用 File 的名称来创建一个具有每次提到的扩展名的文件,以便在最后追加。
已编辑:
我主要需要找到一种方法,可以在每次文件出现时将文件名的值保存在变量中。因此,例如在上面的文本文件中,当我运行批处理时,它将查看文件名是否存在。如果它存在,那么它将在上述情况下保存值,即 mp3 并保存它,然后调用 XYZ.exe 直到文件名不再出现。新文件名一出现,就会调用一个方法,该方法将合并由 XYZ 生成的两个输出形成两个参数,并将它们合并到一个文件中,并将该文件的扩展名附加到一个 mp3。
然后新的文件名将再次保存在同一个变量中并继续该过程。
如果 data.txt 中没有此文件名的单个实例,则结果文件的扩展名将是 txt。我想现在应该很清楚了。请让我知道以获取更多说明..
【问题讨论】:
-
由于我们不知道您的
xyz程序如何接受输出文件名,因此我们无法在此为您提供帮助。我不得不把这个问题读了四遍左右才能知道你在尝试什么。 -
XYZ 程序只取三个参数并返回一个文件。这不是真正的问题。我只需要在生成的文件中附加扩展名。问题是我们如何检测到 data.txt 文件中有一个新的文件名,我们需要停止处理进一步的命令,只需将此扩展名附加到生成的文件中。
-
好的,我已经编辑了我的查询,以便通过示例进行清晰的查询。希望对您有所帮助..!
标签: batch-file