我正在尝试在 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
似乎在其他机器上, = 和 ; 被视为参数分隔符。
有没有更好的方法来传递带有特殊字符的参数,如上述场景?