首页| 版块| 我的| 发帖| 消息
主题:批处理命令之Start的详细用法 [电脑版]
zhangjingyu发表于 2013-08-25 22:44
Start
启动单独的“命令提示符”窗口来运行指定程序或命令。如果在没有参数的情况下使用,start 将打开第二个命令提示符窗口。
语法
start ["title"] [{/separate | /shared}] [{/low | /normal | /high | /realtime | /abovenormal | belownormal}]
参数
"title" 指定在“命令提示符”窗口标题栏中显示的标题。
/dpatch 指定启动目录。
/i 将 Cmd.exe 启动环境传送到新的“命令提示符”窗口。
/min 启动新的最小化窗口。
/max 启动新的最大化窗口。
/separate 在单独的内存空间启动 16 位程序。
/shared 在共享的内存空间启动 16 位程序。
/low 以空闲优先级启动应用程序。
/normal 以一般优先级启动应用程序。
/high 以高优先级启动应用程序。
/realtime 以实时优先级启动应用程序。
/abovenormal 以超出常规优先级的方式启动应用程序。
/belownormal 以低出常规优先级的方式启动应用程序。
/wait 启动应用程序,并等待其结束。
/b 启动应用程序时不必打开新的“命令提示符”窗口。除非应用程序启用 CTRL+C,否则将忽略 CTRL+C 操作。使用 CTRL+BREAK 中断应用程序。
非执行文件只要将文件名作为命令键入,即可通过其文件关联运行该文件。有关使用 assoc 和 ftype 在命令脚本中创建这些关联的详细信息,请参阅“”。
在运行的命令的第一个标记为“CMD”字符串但不包括扩展名或路径限定符时,“CMD”将被 COMSPEC 变量的值取代。这样可以防止用户从当前目录选取 cmd。
当您运行 32 位图形用户界面 (GUI) 应用程序时,cmd 不会在返回到命令提示符之前等待应用程序退出。如果从命令脚本运行应用程序,则不会发生这种新情况。在运行的命令中第一个符号不包括扩展名的情况下,Cmd.exe 使用 PATHEXT 环境变量的值确定要查找的扩展名以及查找顺序。PATHEXT 变量的默认值为:COM;.EXE;.BAT;.CMD(语法与 PATH 变量相同,使用分号分开不同元素)。当您搜索可执行文件且在任何扩展名上都没有匹配项时,start 将搜索目录名。
具体例子:
说明:如果你所在程序的路径中带有空格,那么必须用“”把路径括起来,否则系统会提示找不到XX文件,另外,在运行某些程序时,需在路径的前面加一对空白的“”,表示创建一个空白的窗口,它指向的程序是XXXXXXXX。还有就是别忘了空格。
当我想运行位于“D:\draw\”的“photoshop.exe”使,应该使用以下命令:
start “”“D:\draw\photoshop.exe” 表示以常规窗口运行程序
如果想让程序以最大化窗口运行,则使用以下命令:
start /max“”“D:\draw\photoshop.exe” 表示以最大化窗口运行程序
最小化这是这样:
start /min "" "D:\draw\photoshop.exe" 表示以最小化窗口运行程序
等待某个程序允许完毕,也就是窗口关闭后,再打开下一个程序这可以这样:
start /w "" "D:\draw\photoshop.exe"
start "" cmd.exe

Dos批处理命令bat文件运行完以后自动关闭dos窗口的方法:
  很多人运行完批处理命令发现dos窗口不能自动关闭,那是因为你在bat文件中直接执行了需要运行的某些外部程序,如果希望dos窗口自动关闭,那么,你可以使用start命令来执行该外部程序,而不是直接写上一行来执行。例子说明:
  start "CS" "c:\programme files\cs\half-life.exe" "/m"
  上面只是一个使用格式的例子,即 start "给窗口随便命个名" "带完整路径的程序程序" "程序需要传递的参数串(可省略)"
  当然,在你的批处理文件末尾,最好不要忘记加上一行: EXIT

请问Start命令中的/w参数怎么用?

我知道/w的大概意思是不回到提示符转到其它的程序。我想执行一条命令:即运行完DIR后再执行其它命令 START dir cd c:\ /w。这条命令只能执行到DIR便不再执行下去了,是我的命令写错了吗?
 另请问在START命令中为什么不能执行内部命令,我的DIR是做了一条批处理的。

『参考回复』 

请注意,Start会开启新窗口来运行程序,如果新窗口不正常退出,你的批处理就不能正常执行下去,所以如果你要用Start启用dir命令,一定要将dir命令写入一个批处理文件中,然后在批处理文件的最后面加上exit命令。
正确的用法应该是这样:
1、建立使用dir命令的批处理如test.bat:
@echo off
dir c:\
rem ....其它操作
exit
2、在另一个批处理中调用该批处理:
...
start /wait call test.bat
...

其实在这里就没有必要使用start /wait了,因为使用了call命令后,test.bat已经控制了流程,一定是在call结束后才会继续下一步的操作。

Start语法: <
下一页 (1/3)
回帖(2):
2楼:继续。
http://www.weather.com.cn/static/html/article/20100330/208870.shtml

Up ..(zhangjingyu)
1楼:硬盘里的文档,整理在这里吧。
不知道还有多少人会经常用到些dos命令。(zhangjingyu)

全部回帖(2)» | 最新回帖
收藏本主题 | 发表新主题