start 命令用来启动一个单独的窗口来运行指定的程序(如:exe 文件)或命令(如:批处理脚本 *.bat)。在使用 start 之前,先使用 start /? 命令查看 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 选项。bat广告位实例:使用 start 命令启动 notepad.exe 记事本程序。@echo off
start notepad.exe实例:使用 start 命令启动一个子脚本,并且设置脚本的 title 为 “Sub Title”。@echo off
start "Sub Title" sub.bat运行效果:实例:以最小化和最大化方式启动记事本 notepad.exe 程序。@echo off
rem 最小化启动记事本,在任务栏可以看见
start /MIN notepad.exe
rem 最大化启动记事本,当于我们点击了最大化按钮
start /MAX notepad.exe实例:本例使用 /WAIT 实现启动记事本应用程序,并且等待关闭记事本后才结束主批处理脚本。@echo off
echo 启动记事本程序
start /WAIT notepad.exe
echo 记事本程序关闭了...效果图如下:实例:运行 start+文件的绝对存储路径打开对应的文件;@echo off
start D:\tmp.txt效果如下图:当然我们也可以使用 “start 目录地址” 打开资源管理器,或者使用 “start 网站URL” 通过默认浏览器打开指定的 URL。