对多个文件执行命令

时间:2015-06-08 17:50:16

标签: batch-file cmd command panda3d

所以我想使用通过命令提示符运行的SINGLE程序转换大量具有完全唯一名称的文件。

以下是转换一个文件的命令:

bam2egg.exe Filename.bam Filename.egg

我想要它所以我可以将大量具有唯一名称的.bam文件转换为具有相同名称的.egg文件。我假设您可以使用批处理文件或甚至一个命令来执行此操作,但我不确定如何。

帮助表示感谢!

1 个答案:

答案 0 :(得分:0)

您需要使用一个小命令提示脚本:for循环。我不熟悉Windows命令提示符,但快速搜索发现我:

Iterate all files in a directory using a 'for' loop

可能是什么样的:

for %i in (*) do bam2egg.exe %i converted\%i.egg

理论上,这会将您转换的文件放在名为“converted”的子目录中,输出为“Filename.bam.egg”。

看到你正在使用panda3d,你也可以使用python脚本:

import glob
from subprocess import call
import os.path
for filename in glob.glob('*.egg'):
    output_path = os.path.join('converted', filename.rstrip('bam') + egg)
    call(["bam2egg", filename, output_path])

这将在一个名为“converted”的子目录中输出您转换的文件,文件名将更加清晰“Filename.egg”