如果文件已经打开,则启动/等待无法等待

时间:2014-02-22 06:27:12

标签: ruby windows batch-file

system( "start /wait file.docx")

这会启动文件,但如果另一个docx文件已经打开,则无法等待。如果没有文件打开,则可以正常工作。

我想做的事情:我想在Windows中使用默认编辑器打开一个文件并等待用户输入并对保存后的文件进行一些更改,因此我正在使用

/wait. 

谢谢你的提示?

1 个答案:

答案 0 :(得分:2)

winword中的默认行为是重用可执行文件的现有实例来打开多个文档。因此,第二个打开文件操作将其工作委托给现有工作并退出,因此start命令返回。

一个常见的选择是使用COM打开文件并测试关闭实例。但我对红宝石一无所知,或者它是否支持COM。

最好的方法是找到winword可执行文件并使用参数/w filename.docx直接调用它来强制将文件打开到新实例中。