【发布时间】:2013-02-23 23:56:17
【问题描述】:
我有一个 VBScript 函数,它使用 xcopy 命令将文件复制到远程机器。该脚本首先从文本文件中读取目标机器列表,将列表转换为数组,然后循环遍历该数组。对于阵列中的每台目标机器,我使用 xcopy 将指定的文件传输到那里。 该系统运行良好,但由于我有 40 多台目标机器,因此需要一段时间才能完成。有没有更快的方法来做到这一点?有没有办法一次对所有机器执行“广播”复制文件? 谢谢, 约翰
【问题讨论】:
我有一个 VBScript 函数,它使用 xcopy 命令将文件复制到远程机器。该脚本首先从文本文件中读取目标机器列表,将列表转换为数组,然后循环遍历该数组。对于阵列中的每台目标机器,我使用 xcopy 将指定的文件传输到那里。 该系统运行良好,但由于我有 40 多台目标机器,因此需要一段时间才能完成。有没有更快的方法来做到这一点?有没有办法一次对所有机器执行“广播”复制文件? 谢谢, 约翰
【问题讨论】:
在 VBScript 中,您只能按顺序执行此操作,因为语言/解释器不支持并行处理。不过,您也许可以使用批处理脚本来完成:
for /f %%h in (targets.txt) do (
start "" "%COMSPEC%" /c xcopy C:\src \\%%h\dst
)
请注意,这不一定会加快速度,因为带宽是所有任务共享的有限资源。当并行运行多个任务时,每个任务将只占用一小部分带宽,因此需要更长的时间才能完成。
【讨论】: