Re Climbing:
补充两点我前述中没有注意到的问题:
我注意到你调用%comspec%时使用了start,这有一个小问题,就是start会创建新窗口来调用%comspec%,因此运行时会有黑屏闪过。当然,可以使用“/b”参数来避免创建新窗口,但是可以不用这样麻烦,直接使用%comspec%即可。
据我所知,start启动的进程结束后,不会设置%errorlevel%,这对本程序来说是有利的,因为后面使用了&&连接goto :EOF,它可以在cmd返回假值(非0的%errorlevel%)时仍然goto。但是对大部分程序来说,都是不利的,很多时候我们需要根据%errorlevel%决定第二语句的运行与否;如果仅想连续运行两个语句,使用单个“&”就够了。
另外,“goto eof”只能返回自定义的 :eof 标签,而预定义的 :eof 需要使用 goto :eof,冒号是不可省略的。
下面是我对程序第一句的修改稿:
if "%1" == "" %comspec% /V:ON /C %0 cmdshell & goto :eof
[
Last edited by willsort on 2005-7-27 at 13:48 ]