我正在通过输入路径来尝试执行一个命令,当我点击时TAB,发生了以下情况:
C:\> C:\Program Files\KeePassXC\keepass<TAB>
# became this:
C:\> & 'C:\Program Files\KeePassXC\keepassxc-cli.exe'
它只是评估一个字符串吗?至少,我假设路径需要用引号引起来,因为其中有空格,如果没有,&
我会收到以下错误:
C:\> 'C:\Program Files\KeePassXC\keepassxc-cli.exe' --help
At line:1 char:50
+ 'C:\Program Files\KeePassXC\keepassxc-cli.exe' --help
+ ~~~~
Unexpected token 'help' in expression or statement.
At line:1 char:1
+ 'C:\Program Files\KeePassXC\keepassxc-cli.exe' --help
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The '--' operator works only on variables or on properties.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnexpectedToken
你能链接到文档吗?谢谢!
答案1
这是一个调用操作符致电接线员 &:
您可以使用调用运算符通过文件名执行脚本。下面的示例显示了一个包含空格的脚本文件名。当您尝试执行该脚本时,PowerShell 会显示包含文件名的带引号的字符串的内容。调用运算符允许您执行包含文件名的字符串的内容。
PS C:\Scripts> ".\script name with spaces.ps1" .\script name with spaces.ps1 PS C:\Scripts> & ".\script name with spaces.ps1" Hello World!