登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

梦想之鹰的天空

天高任鸟飞......放飞....心情..........放飞.....梦想

 
 
 

日志

 
 

Dos批处理Start命令的参数-bat运行完批处理文件自动关闭窗口  

2011-02-21 12:04:19|  分类: 桌面应用 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

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语法:
启动另一个窗口运行指定的程序或命令。

START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
      [/WAIT] [/B] [command/program]
      [parameters]

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

  来源:聊城门户网(www.Lc365.net),原文地址:http://www.lc365.net/html/tech/16034.htm

  评论这张
 
阅读(1536)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018