【问题标题】:BATCH script, parsing several files with different extensionsBATCH 脚本,解析多个不同扩展名的文件
【发布时间】:2016-04-02 07:17:42
【问题描述】:

我需要自动化一个创建 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,例如,我需要重命名文件,仅删除该扩展名;文件.pdf.lol 到文件.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 文件上,所以如果脚本可以从那个文件中读取扩展名会很好,但我不知道怎么做。

任何帮助将不胜感激!

谢谢!

【问题讨论】:

    标签: windows batch-file scripting


    【解决方案1】:
    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

    【讨论】:

    • 感谢您的回答。如何替换第二个 FOR 上的 . 并从我编写它们的 .txt 中获取/读取我想要的扩展名?会不会太难?处理设备上的每个文件都太苛刻了:(
    • 如果您想从文件中读取,请使用for /f "delims=" %%f in (filename) do ... 您应该尝试针对数据文件的子树副本进行实验,以确保安全...
    猜你喜欢
    • 1970-01-01
    • 2013-03-13
    • 1970-01-01
    • 1970-01-01
    • 2018-02-07
    • 1970-01-01
    • 1970-01-01
    • 2019-02-03
    • 1970-01-01
    相关资源
    最近更新 更多