0

Powershell ISE をコンソール アプリとして使用しようとしていますが、ほとんど成功していません。Comskip はコマンド ライン ツールであり、Comskip のコマーシャル スティッピングを通常通り実行する AHK スクリプトを使用していcmd.exeます。正常に動作しますが、最近、ファイル名に Unicode 文字 (星評価) を使用し始めました。ご存知のように、これらはコンソールで特に適切に表示されません。

調査の結果、Unicode をサポートするはずの Powershell ISE にたどり着きました。ISE から Comskip を実行するのは非常に困難であることがわかりました。すべてを手動で入力すると問題なく動作しますが、別のスクリプトから呼び出すと問題が発生します。

ここで問題となるのは、通常の Powershell コンソールを呼び出すコードを使用すると、すべてうまくいくことです。しかし、ISE を呼び出す同じコードが失敗し、その理由がわかりません。どなたかできますか?表示されるエラー メッセージには、何が問題なのか明確な手がかりはありません。エラーメッセージは次のようにのみ表示されます。

使用法:powershell_ise.exeまたはpowershell_ise.exe fileName.ps1

ISE を呼び出す AHK 行は次のようになります。

latest_file := "C:\Program\Comskip\q.ts"
Run, PowerShell_ISE.exe "C:\Program\Comskip\comskip.exe" -t --videoredo "%latest_file%"

Powershell コンソールを使用すると、同じコードが正常に実行されます。

latest_file := "C:\Program\Comskip\q.ts"
Run, PowerShell.exe "C:\Program\Comskip\comskip.exe" -t --videoredo "%latest_file%"

なぜこれらの異常が発生するのですか?

4

1 に答える 1

1

PowerShell ISE には、powershell.exe のようなコマンドを実行する機能がありません。その理由は簡単です: ISE は、powershell.exe がインタラクティブな操作と "バッチ" 操作の両方のためのものとして考えられていたインタラクティブな環境として設計されました。

表示されるエラーは、IMO の説明で十分です。PowerShell_ISE (パラメーターなし) のみを実行するか、ISE が起動すると開く .ps1 ファイルを指定できます。v3 では 2 つの新しい機能 ( -NoProfile と -MTA) が追加されましたが、まだ - 誰もバッチ処理ツールとして設計していません..申し訳ありません。

于 2012-06-24T18:10:14.997 に答える