PowerShell のコマンドの前のアンパサンド記号 (&) とは何ですか?

PowerShell のコマンドの前のアンパサンド記号 (&) とは何ですか?

コマンドへのパスを入力してコマンドを試していたところ、 を押すと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

ドキュメントへのリンクを貼っていただけますか? ありがとうございます!


&(を議論しているスレッド12) はまったく別の内容です (または、関連性を見つけるのに失敗した可能性があります)。

答え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!

関連情報