%20%E3%81%A8%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
コマンドへのパスを入力してコマンドを試していたところ、 を押すと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!