次のように Windows 2008 R2 でバッチ ファイルを実行しようとしています: Setup.bat 80,http,"Database=LbCore;Server=(localhost);Trusted_connection=yes","TestProduct","localhost"
次のように、バッチファイルにパラメーターを出力しています。
ECHO *** Port=%~1,
ECHO *** Protocol=%~2,
ECHO *** Connection String=%~3,
ECHO *** Service Name=%~4,
ECHO *** Host Name=%~5
私は次のような出力を期待しています:
*** Port=80,
*** Protocol=http,
*** Connection String=Database=LbCore;Server=(localhost);Trusted_connection=yes,
*** Service Name=TestProduct,
*** Host Name=localhost
これは私のマシンで正常に動作しています。しかし、驚いたことに、他の Window 2008 R2 マシンで実行しようとすると、次のように出力されます。
*** Port=80,
*** Protocol=http,
*** Connection String=Database,
*** Service Name=LbCore,
*** Host Name=Server
他のマシンのようです = と ; パラメータ区切り文字として扱われます。
上記のシナリオのように、特殊文字を含むパラメーターを渡すためのより良い方法はありますか?