start
是 Windows 系统中用于启动新进程或打开新窗口来运行指定程序或命令的命令。以下是对 start
命令参数的详细解释:
基本语法
start ["title"] [/Dpath] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED] [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL] [/WAIT] [/B] [command/program] [parameters]
参数详解
1. ["title"]
- 说明:这是一个可选参数,用于指定新窗口的标题。如果要使用该参数,必须将其放在命令的开头,并且用双引号括起来。如果不需要指定标题,可以省略该参数,但双引号不能省略(即使用空双引号
""
)。 - 示例:
start "My Java Application" java -jar myapp.jar
上述命令会打开一个新的命令提示符窗口,窗口标题为 My Java Application
,并在该窗口中运行 java -jar myapp.jar
命令。
2. /Dpath
- 说明:指定新进程的工作目录。
path
是要设置的工作目录的路径。 - 示例:
start /D "C:\myproject" java -jar myapp.jar
此命令会将新进程的工作目录设置为 C:\myproject
,然后在该目录下运行 java -jar myapp.jar
命令。
3. /I
- 说明:该参数用于在新窗口中使用原始环境,而不是继承当前窗口的环境。
- 示例:
start /I cmd.exe
这会打开一个新的命令提示符窗口,该窗口使用原始的环境变量设置,而不是当前窗口的环境变量。
4. /MIN
- 说明:以最小化窗口的方式启动新进程。
- 示例:
start /MIN notepad.exe
该命令会以最小化窗口的形式打开记事本程序。
5. /MAX
- 说明:以最大化窗口的方式启动新进程。
- 示例:
start /MAX mspaint.exe
此命令会以最大化窗口的形式打开画图程序。
6. /SEPARATE
和 /SHARED
- 说明:
/SEPARATE
:在单独的内存空间中启动 16 位 Windows 程序。不过,现在大多数程序都是 32 位或 64 位的,这个参数使用较少。/SHARED
:在共享的内存空间中启动 16 位 Windows 程序,同样适用于 16 位程序。
- 示例:(假设存在 16 位程序
oldapp.exe
)
start /SEPARATE oldapp.exe
7. /LOW
、/NORMAL
、/HIGH
、/REALTIME
、/ABOVENORMAL
、/BELOWNORMAL
- 说明:这些参数用于设置新进程的优先级。不同的优先级决定了操作系统分配给该进程的 CPU 时间片的多少。
/LOW
:低优先级。/NORMAL
:正常优先级(默认值)。/HIGH
:高优先级。/REALTIME
:实时优先级,具有最高的 CPU 优先级,使用时要谨慎,因为可能会影响系统的稳定性。/ABOVENORMAL
:高于正常优先级。/BELOWNORMAL
:低于正常优先级。
- 示例:
start /HIGH myapp.exe
该命令会以高优先级启动 myapp.exe
程序。
8. /WAIT
- 说明:使
start
命令等待新进程执行完毕后再继续执行后续命令。通常用于需要等待某个程序执行完成后再进行下一步操作的场景。 - 示例:
start /WAIT notepad.exe test.txt
echo "Notepad has been closed."
上述命令会打开记事本程序并编辑 test.txt
文件,只有当记事本窗口关闭后,才会输出 Notepad has been closed.
。
9. /B
- 说明:在当前窗口中启动应用程序,而不是打开新窗口。
- 示例:
start /B java -jar myapp.jar
该命令会在当前命令提示符窗口中启动 Java 程序,而不会打开新的窗口。
常见示例
以下是一个综合示例,展示了如何使用多个参数:
start "My App" /D "C:\myapp" /MIN /NORMAL /WAIT java -jar myapp.jar
这个命令会打开一个标题为 My App
的新窗口,将工作目录设置为 C:\myapp
,以最小化窗口和正常优先级启动 Java 程序,并等待程序执行完毕。