韩孝珠 车祸:Dos批处理Start命令的参数,bat脚本运行完毕后自动关闭窗口

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 10:29:07

Dos批处理命令bat文件运行完以后自动关闭dos窗口的方法:

很多人运行完批处理命令发现dos窗口不能自动关闭,那是因为你在bat文件中直接执行了需要运行的某些外部程序,如果希望dos窗口自动关闭,那么,你可以使用start命令来执行该外部程序,而不是直接写上一行来执行。例子说明:

view plain   copy
  1. 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

view plain   copy
  1. @echo off 
  2. dir c:\ 
  3. rem ....其它操作 
  4. exit 

2、在另一个批处理中调用该批处理:

view plain   copy
  1. ... 
  2. start /wait call test.bat 
  3. ... 

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

Start语法:启动另一个窗口运行指定的程序或命令。 

view plain   copy
  1. START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]  
  2.      [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]  
  3.      [/WAIT] [/B] [command/program]  
  4.      [parameters]   
参数 参数使用方法/说明 "title" 在窗口标题栏中显示的标题。 /D path 起始目录 /I 新环境是传递给cmd.exe的原始环境,而不是当前环境 /MIN 开始时窗口最小化 /MAX 开始时窗口最大化 /SEPARATE 在分开的内存空间内开始16位Windows程序 /SHARED 在共享内存空间内开始16位Windows程序 /LOW 在IDLE优先级类别开始应用程序 /NORMAL 在NORMAL优先级类别开始应用程序 /HIGH 在HIGH优先级类别开始应用程序 /REALTIME 在REALTIME优先级类别开始应用程序 /ABOVENORMAL 在ABOVENORMAL优先级类别开始应用程序 /BELOWNORMAL 在BELOWNORMAL优先级类别开始应用程序 /WAIT 启动应用程序并等候它结束 /B 在不创建新窗口的情况下开始应用程序。除非启动^C(Ctrl+C)处理,否则该应用程序会忽略 ^C 处理;^Break是唯一可以中断该应用程序的方式 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。