1. ホーム
  2. powershell

[解決済み] PowerShellスクリプトによるEXEファイルの実行

2022-06-26 01:04:32

質問

PowerShell スクリプトを使用して EXE ファイルを実行しようとしています。コマンド ラインを使用すると、問題なく動作します (最初に、実行可能ファイルの名前とそれを呼び出すための一連のパラメータを提供します)。

"C:\Program Files\Automated QA\TestExecute 8\Bin\TestExecute.exe" C:\temp\TestProject1\TestProject1.pjs /run /exit /SilentMode

しかし、スクリプトの中で全く同じことをすると、エラーが返されます。

この用語は '"C:\Program FilesAutomated QATestExecute 8 }BinTestExecute.exe" C:\temp Filter1TestProject1.pjs /run /exit /SilentMode' は はコマンドレット名として認識されません。 関数、スクリプトファイル、または操作可能なプログラムの名前として認識され プログラム名として認識されません。名前のスペルを確認してください。 名前のスペル、またはパスが含まれているかどうかを確認します。 パスが含まれている場合は、そのパスが正しいかどうかを確認し 再試行してください。

("&"演算子を使ってコマンドを起動しました。)

この問題を解決するにはどうしたらよいでしょうか。

どのように解決するのですか?

& "C:\Program Files\Automated QA\TestExecute 8\Bin\TestExecute.exe" C:\temp\TestProject1\TestProject1.pjs /run /exit /SilentMode

または

[System.Diagnostics.Process]::Start("C:\Program Files\Automated QA\TestExecute 8\Bin\TestExecute.exe", "C:\temp\TestProject1\TestProject1.pjs /run /exit /SilentMode")

UPDATE: "("&"演算子を使ってコマンドを呼び出した)"の文を見落としていてすみませんでした。この問題は、パスを動的に評価するときに発生しました。Invoke-Expression構文を試してみてください。

Invoke-Expression "& `"C:\Program Files\Automated QA\TestExecute 8\Bin\TestExecute.exe`" C:\temp\TestProject1\TestProject1.pjs /run /exit /SilentMode"