从VBScript调用Ruby

嘿,我最近一直在使用rubyvbscript 。 有一种情况我需要从另一个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”的糟糕性)