代码如此:
dim WSH
dim string
set WSH = CreateObject("wscript.Shell")
string = "C:\Windows\SysWOW64\curl.exe -k ""https://qyapi.weixin.qq.com/key=……"" -H 'Content-Type:application/json' -d ""{""""msgtype"""":""""text"""",""""text"""":{""""content"""":""""hello world""""}}"""
WSH.run "%comspec% /k " & string,3,true
就是运行CMD并在CMD中运行CURL向企业微信webhook传递信息。
在本地运行一切OK,企业微信能收到消息。
在服务器上运行就显示未闭合的括号 world}}……
顺便说一下,在服务器上直接点开CMD 运行 string的命令,也是正常的。唯独就是不能在VBS里面运行。
很显然问题出在对字符串的解析上。那么这就很奇怪了。难道本地win10家庭版和服务器win2012企业版的VBS对字符串的解析有区别吗?