GnuPG с Powershell и подстановочным знаком для шифрования - PullRequest
1 голос
/ 29 апреля 2020

Я пытаюсь зашифровать все файлы TXT в указанной папке c, используя подстановочный знак * .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**

Но если я выберу только один из текстовых файлов:

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" 

Работает нормально.

Ответы [ 2 ]

2 голосов
/ 29 апреля 2020

Код ниже должен дать желаемый результат.

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)"
}
0 голосов
/ 29 апреля 2020

В bash оболочка интерпретирует подстановочный знак. В cmd или powershell каждая команда интерпретирует подстановочный знак, используя библиотеку.

...