BATCH脚本,解析具有不同扩展名的多个文件

时间:2015-12-28 12:26:46

标签: windows batch-file scripting

我需要自动创建一个BATCH脚本的过程。我必须说我对BATCH脚本和编程的了解总体上非常基础,但我正在努力学习。

我使用下一个命令行获得了一个.exe:

decrypt.exe -k [key of decrypt] -f [file for decrypt] -e [extension of file with dot]

example: decrypt.exe -k decrypt.key -f file.pdf -e .pdf

我需要运行它来解密数千个具有不同扩展名的文件。

我的想法是在c:\上运行脚本,并递归地让它解密所有文件。

此外,如果文件具有扩展名.lol,我需要重命名文件,仅删除该扩展名,例如; file.pdf.lol到file.pdf。这并不重要,因为我可以稍后运行一个新脚本。

到目前为止,这是我得到的:

FOR /R %%f IN (*.lol) DO decrypt.exe -k "decrypt.key" -f "%%f" -e "%%~xf"

经过一番调查,我找到了命令FORFILES:

FORFILES /m *.lol /s /C "decrypt.exe -k decrypt.key -f @file -e @ext"

我在.txt文件上写了所有扩展名,所以如果脚本可以从该文件中读取扩展名,那将很棒,但我无法确定如何。

任何帮助都会非常感激!

谢谢!

1 个答案:

答案 0 :(得分:0)

FOR /R %%f IN (*.lol) DO ren "%%f" "%%~nf"
FOR /R %%f IN (*.*) DO decrypt.exe -k "decrypt.key" -f "%%f" -e "%%~xf"

应该适合你。

第一个应该将文件从*.lol重命名为*,然后第二个根据您的原始代码运行您的decrypt