如何批量循环解密 gpg 文件

如何批量循环解密 gpg 文件

我正在尝试解密文件夹中的所有 gpg,但不知道如何构建批处理来读取所有 gpg 文件并将它们提取到 .zip 文件中。

What I have: 
xxx1.zip.gpg 
yyy.zip.gpg 
dddd.zip.gpg

我想要的是:

xxx1.zip
yyy.zip
ddd.zip

我可以执行的命令行是:

gpg --batch --yes --pinentry-mode loopback --passphrase "mypassword"  --output  myfiles.zip  --decrypt  myfiles.zip.gpg

如何使用循环执行批处理并用我的所有 gpg 文件替换“myfiles”??

答案1

您可以尝试这个循环(已测试)来为您完成这项工作
@echo off && cd /d "%~dp0"

set "_gpg=gpg.exe --batch --yes --pinentry-mode loopback --passphrase"
for /f "usebackq delims=" %%i in (`%___AppDir__%where.exe .:*.zip.gpg
    `)do %_gpg% "mypassword" --output "%%~dpi%%~ni" --decrypt "%%~i"

答案2

以下(未经测试的)代码应该可以完成这项工作。

在文件夹中创建一个.bat文件,将以下内容粘贴到其中并运行它:

for %%i in (*.gpg) do (
  set "file=%%i"
  gpg --batch --yes --pinentry-mode loopback --passphrase "mypassword" --output "%file:.gpg=%" --decrypt "%%i"
)

注意:我建议在运行此批处理文件之前备份该文件夹。我尚未验证您的gpg命令。

相关内容