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

如何等待命令在HTML Javascript中完成执行,javascript,html,wait,execute,wsh,Javascript,Html,Wait,Execute,Wsh,我正在编写一个HTML菜单(StartMenu.hta)。此菜单从DVD运行,但在运行之前,需要将一些文件复制到用户的临时文件夹中。打开菜单前必须复制这些文件,因为这些文件是使用菜单所必需的 要复制这些文件,我使用以下JavaScript函数: function launch(){ var shell = new ActiveXObject("WScript.Shell"); shell.run("xcopy \Data\\VLC\ \%TEMP%\\CSE\\VLC\ /d/e

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

要复制这些文件,我使用以下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
采用第三个参数,该参数定义在向前移动之前是否应完成操作。所以代码应该是类似smth的

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");
有关完整的解释,请参阅