当前位置:DOS资源站资料中心入门文章 → 批处理中写“start 应用程序”与只写“应用程序”的区别

批处理中写“start 应用程序”与只写“应用程序”的区别

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2008-4-23 22:12:54

刚学到start命令,看到很多文章的讲解,start用于启动一个应用程序,如start notepad.exe可以打开记事本。
开始感觉这条命令很没用,我直接notepad.exe不就行了?
今天用批处理自己做开机启动项,终于发现两者的区别。
下面是我做的开机启动项的批处理autostart.bat,放在开始→启动里

::autostart
::自动登陆我的QQ
"E:\Green Program\Tencent\QQ\QQ.exe" /START QQUIN:411976538 PWDHASH:* /STAT:10
::打开千千静听
"E:\Green Program\TTPlayer\TTPlayer.exe"
::打开Firefox
"E:\Green Program\Mozilla Firefox\firefox.exe" -profile "E:\Green Program\Mozilla Firefox\FFprofile"
::系统清理
call "E:\Tool\system\batch\clear.bat"

可是系统启动时只有QQ运行了。后来当我退出QQ时,千千静听竟然打开了。
当时我还莫名其妙,我又没有打开千千,它是怎么出来的?
还以为中了病毒,仔细查看了很久,又想了很久,终于想到我的autostart.bat有千千的启动项。
难道autostart.bat中的程序不是同时启动的吗?要等前一个程序结束了后一个才运行?
于是我马上关了千千,果不其然,Firefox应声打开了!
这是为何?我立即想到了start命令,难道是因为我没加start的缘故?
如果用start命令来启动呢?立即加上试试!
在上面autostart.bat的每一个命令行之前加上“start "" ”(不要外侧引号),
再手动运行这个新的autostart.bat,果然,四个命令都运行了,QQ、千千、Firefox几乎同时打开!
原来如此!

又打开CMD,输入start /?重新研究了下这个命令,终于发现了一个以前没注意的参数[/WAIT],
加上/WAIT,就是启动应用程序并等候它结束。
start命令默认情况下没有加,就是不用等待,让程序可以同时运行。

看来,只写“应用程序”,就与写“start /wait 应用程序”作用相同。

而以前看别人的文章为什么没注意呢?甚至觉得这个命令用处不大。
我想,别人举例时只运行了一个程序,这时加不加wait都没有影响。
再结合批处理是按顺序从上到下逐条执行命令的,我上面的最后一条命令
call "E:\Tool\system\batch\clear.bat"
完全用不着再加start

学批处理不久,终于自己发现并解决了一个问题,很有成就感。写出来分享一下!