当社の IT 部門は Windows 8 に移行しており、誰もが Windows の既定のコマンド ライン環境として、cmd.exe
.
残念ながら、PowerShell は入力内容を評価するため、生のコマンド ライン引数をプログラムに渡すのは非常に困難です。
たとえばinventory.exe
、出力をフォーマットする特別な文字列を受け取るプログラムがあります。不思議なエラーが発生するため、PowerShell でこの特別な文字列を渡すことができません。
PS C:\Users\Administrator> inventory.exe 'inventory "," date "," owner'
inventory.exe error: No comma allowed
PowerShell が'inventory "," date "," owner'
なんらかの方法で文字列を評価し、エラーを出力した結果として何か他のものがinventory.exe
プログラムに渡されたと思います。
このプログラムは次の環境で正常に動作しcmd.exe
ます:
C:\Documents and Settings\boda> inventory.exe 'inventory "," date "," owner'
... (the output that I expect) ...
PowerShell%
で ,などの文字を入力すると、さらに悪化します。$
PowerShell で生の文字列をコマンドに渡す方法を知っている人はいますか?