这个问题可能是由于gpg2 decrypt命令需要用户输入密码而导致的。为了避免脚本挂起,可以使用'-passphrase-fd 0”选项将密码从标准输入传递给gpg2 decrypt命令。以下是一个解决方法的示例:
@echo off
setlocal enableextensions enabledelayedexpansion
set /p password=Enter password:
for %%f in (*.gpg) do (
echo Decrypting %%f
echo !password! | gpg2 --batch --yes --passphrase-fd 0 --decrypt %%f
)
echo All done.
endlocal
在此脚本中,我们使用'set /p password=Enter password:”命令提示用户输入密码,并将其保存在变量'password”中。然后,我们使用'for files”迭代每个.gpg文件,并使用Echo语句输出正在解密的文件名。最后,使用'echo!password!|gpg2 --batch --yes --passphrase-fd 0 --decrypt %%f”命令执行解密操作,并将密码从变量'password”中传递给gpg2 decrypt命令。