如何在HTML Javascript中等待命令完成执行

How do you wait for a command to finish executing in HTML Javascript

本文关键字:命令 执行 等待 HTML Javascript      更新时间:2023-09-26

我正在写一个HTML菜单(startmenu . HTML)。该菜单从DVD上运行,但在运行之前,它需要将一些文件复制到用户的TEMP文件夹中。这些文件必须在打开菜单之前复制,因为这些文件是使用菜单所必需的。

为了复制这些文件,我使用以下JavaScript函数:
function launch(){
    var shell = new ActiveXObject("WScript.Shell");
    shell.run("xcopy 'Data''VLC' '%TEMP%''CSE''VLC' /d/e/i/y");
    shell.run("xcopy 'Data''VIEWER' '%TEMP%''CSE''VIEWER' /d/e/i/y");
    shell.run("StartMenuPC.hta");
}

我遇到的问题是,复制和打开菜单同时开始,而不是最后一个命令等待前两个命令完成。我考虑过使用批处理文件,但这可能会与某些防火墙发生冲突。

我也试过使用while循环,甚至检查文件是否存在于他们的新位置,但我不知道很多关于HTML。我也不想使用超时,因为磁盘只需要复制一次文件。

shell.run接受第三个参数,该参数定义操作是否应该在继续之前完成。所以代码应该是类似于

var shell = new ActiveXObject("WScript.Shell");
shell.run("xcopy 'Data''VLC' '%TEMP%''CSE''VLC' /d/e/i/y", null, true);
shell.run("xcopy 'Data''VIEWER' '%TEMP%''CSE''VIEWER' /d/e/i/y", null, true);
shell.run("StartMenuPC.hta");

完整的说明请参见MSDN Windows Script主机运行方法