从VBScript调用Ruby
嘿,我最近一直在使用ruby
和vbscript
。 有一种情况我需要从另一个vbscript
调用ruby脚本,我被困在那里。 我试过这段代码,
Set newobj = CreateObject("WScript.shell") obj = newobj.Run("ruby E:\rubyfile.rb > D:\newdoc.txt",1,true)
但ruby脚本没有给出结果。 我做得对吗还是有其他办法吗? 如果单独执行ruby脚本,则会生成结果,因此问题不在于ruby脚本。
你需要一个shell( %comspec% /c
)来获得shell的function,比如>
重定向。 所以改变
obj = newobj.Run("ruby E:\rubyfile.rb > D:\newdoc.txt",1,true)
至
nRet = newobj.Run("%comspec% /c ruby E:\rubyfile.rb > D:\newdoc.txt",1,true)
(研究.run的文档,看看nRet
而不是obj
的原因,并考虑名称“newobj”的糟糕性)