请问如何将“inp”变量从这段 vb 传递到我的名为 job.bat 的批处理?确实,在从 job.bat 进行回显(echo %2)时,我注意到 inp 未正确传递。提示命令视图 inp而不是从 vbs 检索到的值。谢谢
For Each listElement In xmlDoc.selectNodes("document/Lists/list")
msgbox "toto"
inp=listElement.selectSingleNode("entry").text
out= listElement.selectSingleNode("output").text
jeton= listElement.selectSingleNode("token").text
dim shell
set shell=createobject("wscript.shell")
shell.run "job.bat ""a file"" **inp** "
set shell=nothing
Next
我想你要找的就是这个。
shell.run "job.bat ""argfile.ext"" " & inp
然而,作为安斯加尔·维彻斯 https://stackoverflow.com/a/15759171/1683264指出,这是一个潜在的严重安全漏洞,因为恶意制作的 XML 文件可以运行任意命令。要封装批处理文件参数并防止出现意外后果,请考虑切换到Shell.Application
对象的Shell执行方法 http://ss64.com/vb/shellexecute.html.
For Each listElement In xmlDoc.selectNodes("document/Lists/list")
msgbox "toto"
inp = listElement.selectSingleNode("entry").text
out = listElement.selectSingleNode("output").text
jeton = listElement.selectSingleNode("token").text
set shell=CreateObject("Shell.Application")
shell.ShellExecute "job.bat", """a file"" " & inp, "path\to\batfile\", "runas", 1
set shell=nothing
Next
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)