我正在尝试使用 WScript.Shell.Run 打开文件。该文件并不总是相同的类型,我想依靠 Windows 使用默认程序打开文件。
对于带有记事本设置的 .txt,它的效果非常好。对于带有 Internet Explorer 8 或 9(Windows XP 或 Windows 7)的 .htm(或 .html),该命令将执行,并且会发生以下两种情况之一。
- 如果在脚本启动之前没有运行其他 IE 实例,它将打开 IE 并挂起,不显示任何内容。
- 如果至少有 1 个其他 IE 窗口(或选项卡)打开,则脚本将执行并执行打开新选项卡或窗口的默认操作,并显示 .htm(或 .html)文件的内容。
该问题在其他浏览器中并不明显,例如,如果您将 .htm 的默认处理程序更改为 Chrome,它在两种情况下都能正常工作,始终显示内容。
测试.vbs
Set App = Wscript.CreateObject("WScript.Shell")
App.Run("C:\test.htm")
WScript.Quit
测试.htm
<html>
<head><title>Test File</title></head>
<body><p>Test File</p></body>
</html>