我正在尝试解密文件夹中的所有 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
命令。