PowerShell プロンプトから:
\Windows\system32\mspaint.exe
ペイントを実行します。
Invoke-Expression -command "\Windows\system32\mspaint.exe"
しかし、パスにスペースがある場合、PowerShellはダミーを吐き出します。例:
Invoke-Expression -command "\install\sub directory\test.bat"
不満を言うのは:
The term '\install\sub' is not recognized as the name of a cmdlet, function, script file, or operable program.
何が足りないのでしょうか?
答え1
によるとこれTechnet の記事によると、パスを二重引用符で囲むだけでは不十分です。
使用しようとしているパスには&ディレクトリの前にアンパサンド (&) を付けないと機能しません。
例えば:
Invoke-Expression -command & "\install\sub directory\test.bat"
答え2
最も簡単な方法は、invoke 演算子を使用することです。
&'String containing the path'
注意: 実行可能ファイルを起動するのはInvoke-Expression
実際には間違ったコマンドレットであり、 を使用する方が適切ですStart-Process
。