0

次のように Windows 2008 R2 でバッチ ファイルを実行しようとしています: Setup.bat 8​​0,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

他のマシンのようです = と ; パラメータ区切り文字として扱われます。

上記のシナリオのように、特殊文字を含むパラメーターを渡すためのより良い方法はありますか?

4

1 に答える 1