start 命令是一个非常强大且常用的命令,它的核心功能是在新的窗口中启动指定的程序或命令。

基本语法和核心功能
start 命令的基本语法如下:
start ["title"] [/D path] [options] ["command" ["parameters"]]
让我们分解一下这个语法中的各个部分:
-
["title"](可选)- 作用:为新打开的命令窗口指定一个标题。
- 示例:
start "我的计算器" calc会打开一个标题为“我的计算器”的计算器窗口。
-
/D path(可选)
(图片来源网络,侵删)- 作用:指定要启动的程序或命令的初始工作目录,如果路径中包含空格,必须用引号括起来。
- 示例:
start /D "C:\Program Files" notepad会在C:\Program Files目录下打开记事本。
-
options(可选)- 这是一系列开关,用于控制新窗口的行为,这是
start命令最强大的部分。 /min:以最小化方式启动新窗口。/max:以最大化方式启动新窗口。/separate:在单独的内存空间中为 16 位程序启动 16 位 Windows 子系统。/shared:在共享的内存空间中为 16 位程序启动 16 位 Windows 子系统。/low:以低优先级类启动应用程序。/normal:以普通优先级类启动应用程序(默认)。/high:以高优先级类启动应用程序。/realtime:以实时优先级类启动应用程序(慎用,可能影响系统响应)。/wait:启动应用程序并等待它结束后,再继续执行下一个命令。/b:以无窗口(后台)方式启动应用程序,命令会立即返回,不等待程序结束,这对于批处理脚本自动化非常有用。
- 这是一系列开关,用于控制新窗口的行为,这是
-
["command"] ["parameters"](必需)command: 要启动的程序、批处理文件或可执行文件的名称,如果是内部命令(如dir,cd),需要使用/c开关。parameters: 传递给该程序的任何参数或开关。command是一个带有空格的路径或名称,必须用引号括起来。
常用和实用的示例
打开常规程序
这是最常见的用法,直接启动一个程序。
# 打开记事本 start notepad # 打开计算器 start calc # 打开画图 start mspaint # 打开资源管理器 start explorer
打开特定文件夹
使用 explorer.exe 可以打开文件资源管理器,并导航到指定目录。

# 打开 C 盘根目录 start explorer C:\ # 打开当前用户的下载文件夹 start explorer %USERPROFILE%\Downloads # 打开一个特定路径的文件夹 start explorer "D:\我的项目\重要资料"
打开网页
start 命令可以轻松调用默认浏览器打开指定的网址。
# 打开百度首页 start https://www.baidu.com # 打开 Google 搜索 "Windows 命令" start "https://www.google.com/search?q=Windows 命令"
使用特殊选项
-
/min最小化启动:# 最小化方式打开记事本 start /min notepad
-
/max最大化启动:# 最大化方式打开计算器 start /max calc
-
/wait等待程序结束: 这个在批处理脚本中非常有用,你想先打开一个程序,等它关闭后再执行下一个操作。@echo off echo 正在打开记事本,请关闭它... start /wait notepad echo 记事本已关闭,继续执行下一个命令。 pause
-
/b后台静默启动: 适用于需要启动一个程序但不希望看到其窗口,并且不希望脚本等待它的情况。# 后台启动一个长时间运行的程序,比如一个服务器 start /b my_server_app.exe # 窗口会立即返回,可以继续执行其他命令 echo 服务器已在后台启动。
执行 CMD 内部命令
默认情况下,start 不能直接运行 dir, cd 等 CMD 内部命令,因为它们会在当前窗口执行,你需要使用 /k 或 /c 开关。
/k:执行命令后保持新窗口打开。/c:执行命令后关闭新窗口。
# 打开一个新窗口,列出 C 盘根目录的内容,然后保持窗口打开 start /k dir C:\ # 打开一个新窗口,列出 C 盘根目录的内容,然后自动关闭窗口 start /c dir C:\
指定工作目录
当你要运行一个程序,且它依赖当前工作目录下的某些文件时,这个功能就很有用。
假设你有一个批处理文件 run.bat 在 D:\MyProject 目录下,你想从这个目录运行它:
start /D "D:\MyProject" run.bat
高级技巧:通过 start 查找程序路径
有时候你只知道程序的名称(如 chrome),但不确定它的完整安装路径,可以利用 start 命令的搜索机制来找到它。
# 尝试启动 Chrome,如果找不到,start 会报错 # 但我们可以利用这个特性来定位 start chrome
更可靠的方法是结合 where 命令,where 命令专门用于在系统的 PATH 环境变量中查找程序。
# 查找 chrome.exe 的完整路径 where chrome # 输出可能是: # C:\Program Files\Google\Chrome\Application\chrome.exe # 然后你就可以用这个完整路径来启动 start "" "C:\Program Files\Google\Chrome\Application\chrome.exe"
常见问题与注意事项
-
路径和名称中的空格
- 这是最常见的错误! 如果你的程序路径或名称包含空格,必须用双引号 将整个路径括起来。
- 错误示例:
start C:\Program Files\notepad.exe - 正确示例:
start "C:\Program Files\notepad.exe" - 特别注意:如果你同时使用了
title,title必须是第一个参数,并且它和路径都需要引号,为了避免混淆,一个常见的技巧是给title一个空字符串:start "" "C:\Program Files\notepad.exe",这里的第一个 是空的标题,第二个 括住了带空格的路径。
-
start命令本身是异步的- 默认情况下,
start启动程序后,会立即返回,不会等待程序关闭,批处理脚本的下一行会紧接着执行,只有使用/wait开关才会等待。
- 默认情况下,
-
与
call命令的区别call命令用于在同一个窗口中调用另一个批处理文件,执行完毕后会返回到当前脚本继续执行。start命令用于在新的窗口中启动程序或批处理文件,脚本会立即继续执行,不等待新窗口的程序。
| 功能 | 命令示例 | 说明 |
|---|---|---|
| 基本启动 | start notepad |
在新窗口打开记事本 |
| 打开网页 | start https://www.google.com |
用默认浏览器打开网页 |
| 打开文件夹 | start explorer C:\Users |
打开指定文件夹 |
| 最小化启动 | start /min calc |
最小化打开计算器 |
| 等待程序结束 | start /wait notepad |
打开记事本并等待其关闭 |
| 后台静默启动 | start /b my_app.exe |
无窗口启动程序,不等待 |
| 执行内部命令 | start /k dir C:\ |
打开新窗口执行 dir 并保持 |
| 指定工作目录 | start /D "D:\MyApp" app.exe |
从指定目录启动程序 |
掌握 start 命令,能让你的命令行操作和批处理脚本编写能力提升一个档次,是实现 Windows 自动化任务的利器。
