Dos批处理命令bat文件运行完以后自动关闭dos窗口的方法:
很多人运行完批处理命令发现dos窗口不能自动关闭,那是因为你在bat文件中直接执行了需要运行的某些外部程序,如果希望dos窗口自动关闭,那么,你可以使用start命令来执行该外部程序,而不是直接写上一行来执行。例子说明:
start "CS" "c:\programme files\cs\half-camnpr.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:
2、在另一个批处理中调用该批处理:
其实在这里就没有必要使用start /wait了,因为使用了call命令后,test.bat已经控制了流程,一定是在call结束后才会继续下一步的操作。
Start语法:
启动另一个窗口运行指定的程序或命令。
如果命令扩展被启用,通过命令行或 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。
例子代码:
@echo off
set inputPath=E:\CamnprWork\admin\js\
set outputPath=E:\PublicJs\
REM echo inputPath:%inputPath%
REM echo outputPath:%outputPath%
REM pause
REM uglifyjs %inputPath%appbase.js>%outputPath%appbase.min.js
start "appbase.js" /B uglifyjs %inputPath%appbase.js -o %outputPath%appbase.min.js
start /B uglifyjs %inputPath%requestapi.js -o %outputPath%requestapi.min.js
start /B uglifyjs %inputPath%jqext.js -o %outputPath%jqext.min.js
start /B uglifyjs %inputPath%template.js -o %outputPath%template.min.js
start /B uglifyjs %inputPath%actionmgr.js -o %outputPath%actionmgr.min.js
start /B uglifyjs %inputPath%validation.js -o %outputPath%validation.min.js
start /B uglifyjs %inputPath%uibase.js -o %outputPath%uibase.min.js
start /B uglifyjs %inputPath%contextmgr.js -o %outputPath%contextmgr.min.js
start /B uglifyjs %inputPath%layer.js -o %outputPath%layer.min.js
start /B uglifyjs %inputPath%dlg.js -o %outputPath%dlg.min.js
start /B uglifyjs %inputPath%validators.js -o %outputPath%validators.min.js
start /B uglifyjs %inputPath%mgr.js -o %outputPath%mgr.min.js
start /B uglifyjs %inputPath%admin.js -o %outputPath%admin.min.js
start /B uglifyjs %inputPath%adminux.js -o %outputPath%adminux.min.js
start /B uglifyjs %inputPath%actions.js -o %outputPath%actions.min.js
REM echo success
REM pause
exit