如何运行子文件夹中的多个 .bat 文件

如何运行子文件夹中的多个 .bat 文件

我是超级计算机的新手,我最近构建了一个具有 128 个 CPU 和 Microsoft Server 2012 的 Amazon EC2 实例。我有一个文件夹,里面有 100 个子文件夹,每个子文件夹中都有一个 .bat 文件。如何同时运行所有 100 个 .bat 文件?此外,是否有特定的命令需要我使用,将每个 .bat 文件处理分配给一个 CPU,这样我就可以同时运行所有文件,确保快速处理(并行处理)。如果我使用了错误的术语,我深表歉意,因为我提到过我是超级计算和并行处理的新手。

答案1

要创建一个脚本来运行一堆其他脚本,您可以尝试:

dir /s /b *.bat

这将列出所有子目录中的所有批处理文件。您可以将该命令的输出通过管道传输到批处理文件,例如:

dir /s /b *.bat > runall.bat

这将创建 runall.bat。编辑 runall.bat 并使用宏在每行前面加上“start”,因此:

c:\Users\KDM\Script\go.bat

变成:

start c:\Users\KDM\Script\go.bat

执行刚刚创建的 BAT 文件将在单独的命令提示符中启动每个 BAT 文件。让操作系统负责公平地分配处理器。

不过,我不确定这是否能完全实现您的要求。我感觉您在追求更巧妙的东西。此外,除了处理器数量之外,您仍然受到限制,即您只能在有限的硬件上运行。我的意思是,如果您愿意,您可以将 1 个 CPU 分成 128 个虚拟 CPU,但您仍然只有 1 个 CPU。

相关内容