通过CLI使用GPG加密时将输出改为.pgp而非.gpg
解决GPG加密输出文件后缀改为.pgp的问题
方法一:加密时直接指定输出文件名(推荐)
gpg默认会在原文件名后追加.gpg后缀,你可以通过--output参数直接指定带.pgp后缀的输出路径,省去后续重命名步骤。修改后的PowerShell命令如下:
Start-Process -FilePath "C:\Program Files (x86)\GnuPG\bin\gpg.exe" -ArgumentList "-r '你的公钥邮箱' -e --output Path\TO\OUTPUT\$($fileName -replace '\.\w+$','.pgp') Path\TO\FILE\$fileName"
$($fileName -replace '\.\w+$','.pgp')会自动替换原文件的后缀为.pgp,不管原文件是什么格式都适用;- 注意公钥邮箱用单引号包裹,避免PowerShell解析双引号时出现语法问题。
方法二:加密完成后准确重命名
如果仍希望保留默认加密流程,可在加密完成后用PowerShell的Rename-Item命令替换后缀,避免出现.gpg.pgp的错误格式:
# 执行加密,-Wait参数确保加密完成后再执行后续操作 Start-Process -FilePath "C:\Program Files (x86)\GnuPG\bin\gpg.exe" -ArgumentList "-r '你的公钥邮箱' -e Path\TO\FILE\$fileName" -Wait # 重命名.gpg文件为.pgp Rename-Item -Path "Path\TO\FILE\$fileName.gpg" -NewName "$($fileName -replace '\.\w+$','.pgp')"
直接手动重命名出现.gpg.pgp是因为你没有移除原文件的.gpg后缀,直接添加了.pgp,用上述命令可以精准替换后缀。
内容的提问来源于stack exchange,提问作者Thomton
相关产品推荐
相关产品推荐

