我正在尝试使用通配符* .txt加密特定文件夹中的所有TXT文件。当我以管理员权限运行PowerShell代码时,收到此错误消息。

set-alias sz "$env:C:\Program Files (x86)\GNU\GnuPG\gpg.exe"
sz --encrypt --recipient "AABB (2048-bit)" "C:\Users\AA\Desktop\AABB_Test\*.txt"

错误:
**sz : gpg: can't open `C:\Users\AA\Desktop\AABB_Test\*.txt': No such file or directory**

但是,如果我仅选择txt文件之一:
set-alias sz "$env:C:\Program Files (x86)\GNU\GnuPG\gpg.exe"
sz --encrypt --recipient "AABB (2048-bit)" "C:\Users\AA\Desktop\AABB_Test\1_test_file.txt"

它工作正常。

最佳答案

下面的代码应产生您想要的结果。

Set-Alias sz "$Env:SystemDrive\Program Files (x86)\GNU\GnuPG\gpg.exe"
$dirWithFiles = "$Env:SystemDrive\Users\AA\Desktop\AABB_Test"

Get-ChildItem -Path $dirWithFiles | ForEach-Object {
    sz --encrypt --recipient "AABB (2048-bit)" "$($_.FullName)"
}

关于powershell - 具有Powershell和通配符的GnuPG进行加密,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61505258/

10-15 13:14