如何制作一个批处理打开多个cmd窗口分别执行命令

我现在有一个批处理,是oracle imp导入数据库的命令,有30多条,我想修改一下这个批处理,同时打开30多个窗口,每个窗口执行一个imp

现在的批处理是
imp 1
imp 2
imp 3
imp 4
等等

使用批处理打开多个cmd窗口分别执行命令的方法

一、新建一个txt文本,把文件名称改成 '.bat'结尾,如:testbat.bat,命令如图:

1、命令使用start命令打开 cmd窗口,具体参数意义见结尾附录

2、/K :是让命令执行完仍然显示cmd窗口。

3、每个CMD 窗口要运行的命令,用“”标记起来,分行用 &&

二、上面的例子效果是,同时打开2个CMD窗口,分别ping两个IP。

三、附start命令的参数说明:

D:\>start /?

启动一个单独的窗口运行指定的程序或命令。

START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]

[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]

[/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B]

[command/program] [parameters]

"title"     在窗口标题栏中显示的标题。

path        å¯åŠ¨ç›®å½•ã€‚

B           启动应用程序,但不创建新窗口。应用程序已忽略 ^C 处理。

除非应用程序启用 ^C 处理,否则 ^Break 是唯一可以中断

该应用程序的方式。

I           新的环境将是传递给 cmd.exe 的原始环境,而不是当前环境。

MIN         以最小化方式启动窗口。

MAX         以最大化方式启动窗口。

SEPARATE    åœ¨å•ç‹¬çš„内存空间中启动 16 位 Windows 程序。

SHARED      åœ¨å…±äº«å†…存空间中启动 16 位 Windows 程序。

LOW         在 IDLE 优先级类中启动应用程序。

NORMAL      åœ¨ NORMAL 优先级类中启动应用程序。

HIGH        åœ¨ HIGH 优先级类中启动应用程序。

REALTIME    åœ¨ REALTIME 优先级类中启动应用程序。

ABOVENORMAL 在 ABOVENORMAL 优先级类中启动应用程序。

BELOWNORMAL 在 BELOWNORMAL 优先级类中启动应用程序。

NODE        å°†é¦–选非一致性内存结构 (NUMA) 节点指定为十进制整数。

AFFINITY    å°†å¤„理器关联掩码指定为十六进制数字。进程被限制在这些

处理器上运行。

当 /AFFINITY 和 /NODE 结合时,会对关联掩码进行不同的解释。

指定关联掩码,正如 NUMA 节点的处理器掩码正确移动到零位

起始位置一样。进程被限制在指定关联掩码和 NUMA 节点之间的

那些通用处理器上运行。如果没有通用处理器,则进程被限制在

指定的 NUMA 节点上运行。

WAIT        å¯åŠ¨åº”用程序并等待它终止。

command/program

如果它是内部 cmd 命令或批文件,则该命令处理器是使用

cmd.exe 的 /K 开关运行的。这表示运行该命令之后,该窗口

将仍然存在。

如果它不是内部 cmd 命令或批文件,则它就是一个程序,并将

作为一个窗口化应用程序或控制台应用程序运行。

parameters  è¿™äº›æ˜¯ä¼ é€’ç»™ command/program 的参数。

注意: 在 64 位平台上不支持 SEPARATE 和 SHARED 选项。

通过指定 /NODE,可按照利用 NUMA 系统中的内存区域的方式创建进程。例如,

可以创建两个完全通过共享内存互相通信的进程以共享相同的首选 NUMA 节点,

从而最大限度地减少内存延迟。如有可能,它们即会分配来自相同 NUMA 节点的

内存,并且会在指定节点之外的处理器上自由运行。

启动 /NODE 1 application1.exe

启动 /NODE 1 application2.exe

这两个进程可被进一步限制在相同 NUMA 节点内的指定处理器上运行。在以下

示例中, application1 在节点的两个低顺序处理器上运行,而 application2

在该节点的其后两个处理器上运行。该示例假定指定节点至少具有四个逻辑

处理器。请注意,节点号可更改为该计算机的任何有效节点号,而无需更改关联

掩码。

启动 /NODE 1 /AFFINITY 0x3 application1.exe

启动 /NODE 1 /AFFINITY 0xc application2.exe

如果命令扩展被启用,通过命令行或 START 命令的外部命令

调用会如下改变:

将文件名作为命令键入,非可执行文件可以通过文件关联调用。

(例如,WORD.DOC 会调用跟 .DOC 文件扩展名关联的应用程序)。

关于如何从命令脚本内部创建这些关联,请参阅 ASSOC 和

FTYPE 命令。

执行的应用程序是 32-位 GUI 应用程序时,CMD.EXE 不等应用

程序终止就返回命令提示符。如果在命令脚本内执行,该新行为

则不会发生。

如果执行的命令行的第一个符号是不带扩展名或路径修饰符的

字符串 "CMD","CMD" 会被 COMSPEC 变量的数值所替换。这

防止从当前目录提取 CMD.EXE。

如果执行的命令行的第一个符号没有扩展名,CMD.EXE 会使用

PATHEXT 环境变量的数值来决定要以什么顺序寻找哪些扩展

名。PATHEXT 变量的默认值是:  .COM;.EXE;.BAT;.CMD

请注意,该语法跟 PATH 变量的一样,分号隔开不同的元素。

查找可执行文件时,如果没有相配的扩展名,看一看该名称是否

与目录名相配。如果确实如此,START 会在那个路径上调用

Explorer。如果从命令行执行,则等同于对那个路径作 CD /D。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-27
start cmd /c imp 1
start cmd /c imp 2
start cmd /c imp 3
start cmd /c imp 4
这样试一下本回答被提问者和网友采纳
第2个回答  2019-01-27
start cmd /c imp 1
start cmd /c imp 2
start cmd /c imp 3
start cmd /c imp 4
第3个回答  2021-03-12