批处理文件以递归方式从目录读取文件名并输入到另一个命令

批处理文件以递归方式从目录读取文件名并输入到另一个命令

我在 Windows 中有一个目录,其中包含具有特定扩展名的文件。我想从给定目录中读取具有扩展名的文件名,并逐个提供给另一个命令。以下是我的场景:-

Directory - D:\Test\
file1.xls.p7
file2.xls.p7
file3.xls.p7
...........

我想读取上述带扩展名的文件名,并将其提供给以下命令:-

slift /d file1.xls.p7 /cer <cert_file>
slift /d file2.xls.p7 /cer <cert_file>
slift /d file3.xls.p7 /cer <cert_file>
...........

我需要对文件夹中的所有文件递归执行上述命令。上述 slift 软件不支持命令中的通配符。我需要在批处理文件中执行相同操作。请帮忙。提前致谢。

答案1

您可以使用forfiles它来执行此操作。它会查询所有文件或按文件掩码查询,然后对找到的每个文件运行一个命令。

对于你的情况,命令将是:

forfiles /m *.p7 /c "cmd /c slift /d @file /cer file.pfx"

相关内容