我正在尝试在PowerShell脚本中执行以下命令
C:\PATH TO GPG\gpg.exe --output OUTPUTFILE.csv --batch --passphrase-fd 0 --decrypt C:\PATH TO INPUT\INPUTFILE.txt < C:\PATH TO PASS\Passphrase.txt
当我将命令的各个部分分配给变量,然后将它们组合在一个命令varible中并尝试执行它,如下所示:
$decryptCommand = "${gpg} --output ${dateStamp}.csv --batch --passphrase-fd 0 --decrypt ${fileName} < ${passphraseFile}"
&$decryptCommand
我收到以下错误:
The term 'XXXX' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
我试图在单引号和双引号中包围命令的各个部分,但我尝试过的任何内容似乎都无法正常工作。
我是否应该从PowerShell脚本执行此命令?
答案 0 :(得分:0)
脚本有几个问题。首先,您不需要使用{}
,secon包围变量 - 您必须单独传递参数,如下所示:
&$gpg --output $dateStamp.csv --batch --passphrase-fd 0 --decrypt $fileName < $passphraseFile
我唯一不确定的是<
符号。可能是您需要使用'