在VBscript命令中使用SET
我正在尝试运行一个VBscript,它运行一个命令行语句,其中包含cmd行命令中的单词在VBscript命令中使用SET,vbscript,wsh,Vbscript,Wsh,我正在尝试运行一个VBscript,它运行一个命令行语句,其中包含cmd行命令中的单词set。 VBscript将其识别为保留字并给出错误: 预期“)” 我试图在VBScript中运行的命令是: objShell.Run(appcmd set config /section:isapiFilters /-[name='JakartaXAPI']) 如何转义保留字?Microsoft VBScript编译错误:预期'”只是一个语法错误 Run方法要求其第一个参数为,并且给定的以空格分隔的单词序列
set
。
VBscript将其识别为保留字并给出错误:
预期“)”
我试图在VBScript中运行的命令是:
objShell.Run(appcmd set config /section:isapiFilters /-[name='JakartaXAPI'])
如何转义保留字?Microsoft VBScript编译错误:预期'”只是一个语法错误
Run
方法要求其第一个参数为,并且给定的以空格分隔的单词序列不能算作字符串。您需要用引号(“”
)将其括起来
在新进程中运行程序
语法
object.Run(strCommand, [intWindowStyle], [bWaitOnReturn])
论据
WshShell对象object
字符串值,指示要运行的命令行。必须包括要传递给 可执行文件strCommand
可选。指示程序窗口外观的整数值。请注意,并非所有程序都使用此功能 信息intWindowStyle
可选。布尔值,指示脚本是否应在执行之前等待程序完成 继续执行脚本中的下一条语句。如果设置为true, 脚本执行将停止,直到程序完成,Run返回任何 程序返回的错误代码。如果设置为false(默认值),则 Run方法在启动程序后立即返回, 自动返回0(不被解释为错误代码)b等待返回
字符串需要加引号。真的吗?他们只是没有将命令作为字符串传递给
Run()
,这导致VBScript运行时出错,而不是rocket science@是的,真的<代码>预期“)”编译不是运行时错误。您的观点是?我没有说这是一个运行时错误,我说的是“VBScript运行时”(指脚本引擎)错误,你只是学究。仍然认为这个答案与实际问题没有多大关系…Option Explicit
和on Error Goto 0
无法阻止这个错误的发生(你自己说的,这是一个编译错误),或者我遗漏了什么?@Lankymart我的观点是……以我所知道的最佳方式回答问题,帮助提问者(我努力遵循文章以及空评论窗口中的提示:……避免在评论中回答问题)。此外,遇到一个公认的VBScript
初学者,我总是建议使用Option Explicit
和On Error Goto 0
。可能很笨拙。它不需要回答,这是离题(简单的排版错误)它只需要关闭。
objShell.Run "appcmd set config /section:isapiFilters /-[name='JakartaXAPI']"
appcmd = "path\to\someapp.exe"
objShell.Run appcmd & " set config /section:isapiFilters /-[name='JakartaXAPI']"