私は現在、一連のシミュレーションを実行するためにバッチファイルを使用しています。バッチファイルの各行は次のようになります。
"filepathprogram.exe" "filepathsimulation.file"
引用符は、ファイルパス内に存在するスペースを区切るために存在します。ファイルパスにスペースが含まれていない場合は、引用符を削除できます。
次のコマンドを使用してPowerShellを介してバッチファイルを実行すると、問題なく動作します。
.batch.bat
私がcmdで同じバッチファイルを実行しているかのように、実行可能ファイルが実行され、出力がホストに書き込まれます。
しかし、私はバッチファイルを捨てて実行したいです。PowerShellを介して直接コマンドを実行します。次のコマンドを実行すると、プログラムが実行されますが、正しく実行されず、ホストに書き込まれたものも取得されません。キャンセルするにはCtrl + Cを押すまでハングしているようにも見えます。
& "filepathprogram.exe" "filepathsimulation.file"
次のことを手伝ってください。
- PowerShellがバッチファイルを実行する方法を説明しているすべてのリソース。
- cmdまたはバッチファイルを使用せずにPowerShellを介して実行可能ファイルを実行し、それをホストに書き込ませる方法。
回答:
回答№1は0やってみました Start-Process
?
Start-Process -FilePath "filepathprogram.exe" -ArgumentList "filepathsimulation.file" -Wait
PS:パラメータ -Wait
オプションです。
回答№2の場合は0
その理由はよくわかりませんが、この問題はリモートでの作業中にのみ発生することがわかりました。ローカルにネットワークに接続しているときはいつでもコマンドは正常に実行されました。
ネットワーク上のローカルにあるPC上でコマンドを実行することを計画しているので、私は今のところこのままにしておきます。
コメントしてくれたみんなに感謝!