BAT批处理文件同时打多个CMD窗口执行其他BAT命令

时间:2021-11-20 23:47:01

start 用来启动一个应用

有时候我们想用一个批处理同时启动其他多个不同目录的BAT,脚本如下

@echo off 
start /D "D:\Program Files\redis\6379" start.bat
start /D "D:\Program Files\redis\6380" start.bat
start /D "D:\Program Files\redis\6381" start.bat
start /D "D:\Program Files\redis\6382" start.bat
start /D "D:\Program Files\redis\6383" start.bat
start /D "D:\Program Files\redis\6384" start.bat

参数D 后面的参数表示被调用命令的所在目录。

Start语法:   
启动另一个窗口运行指定的程序或命令。   
   
START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]   
   [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]    
   [/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 优先级类别开始应用程序   
  WAIT    启动应用程序并等候它结束   
  command/program   
        如果是内部 cmd 命令或批文件,那么该命令处理器是   
        用 /K 命令行开关运行 cmd.exe 的。这表示该窗口在命令运行   
        后仍然存在。   
   
        如果不是内部 cmd 命令或批文件,则是一个程序,并   
        作为窗口应用程序或控制台应用程序运行。   
   
  parameters 这些为传送到命令/程序的参数   
   
   
如果命令扩展被启用,通过命令行或 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。