我可以像这样从命令行运行 wbadmin:
$ c:\windows\system32\wbadmin.exe -?
并且它工作正常(我得到了正确的帮助消息,这里省略)。但是,当我在 Ruby 中尝试它时(如在这个 IRB 会话中:)
irb(main):001:0> w=IO.popen('c:\windows\system32\wbadmin.exe -?')
我收到以下错误:
Errno::ENOENT: No such file or directory - c:\windows\system32\wbadmin.exe -?
from (irb):1:in `popen'
from (irb):1
from C:/Ruby193/bin/irb:12:in `<main>'
这使得我无法像这样运行 wbadmin。
知道原因吗?
答案1
我怀疑你的 Ruby 二进制文件是 32 位的。32 位程序会将“C:\WINDOWS\SYSWOW64”目录“视为”“C:\WINDOWS\SYSTEM32”,但wbadmin.exe
“C:\WINDOWS\SYSWOW64”中没有这个目录。