• 1785阅读
  • 2回复

批处理命令之Start的详细用法 [复制链接] [手机版]

上一主题 下一主题
离线zhangjingyu

只看楼主 倒序阅读 使用道具 绿 楼主  发表于: 2013-08-25 22:44:17 星期日
Start
启动单独的“命令提示符”窗口来运行指定程序或命令。如果在没有参数的情况下使用,start 将打开第二个命令提示符窗口。
语法
start ["title"] [/dPath]  [/min] [/max] [{/separate | /shared}] [{/low | /normal | /high | /realtime | /abovenormal | belownormal}] [/wait]  [FileName] [parameters]
参数
"title" 指定在“命令提示符”窗口标题栏中显示的标题。
/dpatch 指定启动目录。
/i 将 Cmd.exe 启动环境传送到新的“命令提示符”窗口。
/min 启动新的最小化窗口。
/max 启动新的最大化窗口。
/separate 在单独的内存空间启动 16 位程序。
/shared 在共享的内存空间启动 16 位程序。
/low 以空闲优先级启动应用程序。
/normal 以一般优先级启动应用程序。
/high 以高优先级启动应用程序。
/realtime 以实时优先级启动应用程序。
/abovenormal 以超出常规优先级的方式启动应用程序。
/belownormal 以低出常规优先级的方式启动应用程序。
/wait 启动应用程序,并等待其结束。
/b 启动应用程序时不必打开新的“命令提示符”窗口。除非应用程序启用 CTRL+C,否则将忽略 CTRL+C 操作。使用 CTRL+BREAK 中断应用程序。
非执行文件只要将文件名作为命令键入,即可通过其文件关联运行该文件。有关使用 assoc 和 ftype 在命令脚本中创建这些关联的详细信息,请参阅“”。
在运行的命令的第一个标记为“CMD”字符串但不包括扩展名或路径限定符时,“CMD”将被 COMSPEC 变量的值取代。这样可以防止用户从当前目录选取 cmd。
当您运行 32 位图形用户界面 (GUI) 应用程序时,cmd 不会在返回到命令提示符之前等待应用程序退出。如果从命令脚本运行应用程序,则不会发生这种新情况。在运行的命令中第一个符号不包括扩展名的情况下,Cmd.exe 使用 PATHEXT 环境变量的值确定要查找的扩展名以及查找顺序。PATHEXT 变量的默认值为:COM;.EXE;.BAT;.CMD(语法与 PATH 变量相同,使用分号分开不同元素)。当您搜索可执行文件且在任何扩展名上都没有匹配项时,start 将搜索目录名。
具体例子:
说明:如果你所在程序的路径中带有空格,那么必须用“”把路径括起来,否则系统会提示找不到XX文件,另外,在运行某些程序时,需在路径的前面加一对空白的“”,表示创建一个空白的窗口,它指向的程序是XXXXXXXX。还有就是别忘了空格。
当我想运行位于“D:\draw\”的“photoshop.exe”使,应该使用以下命令:
start “”“D:\draw\photoshop.exe” 表示以常规窗口运行程序
如果想让程序以最大化窗口运行,则使用以下命令:
start /max“”“D:\draw\photoshop.exe” 表示以最大化窗口运行程序
最小化这是这样:
start /min "" "D:\draw\photoshop.exe" 表示以最小化窗口运行程序
等待某个程序允许完毕,也就是窗口关闭后,再打开下一个程序这可以这样:
start /w "" "D:\draw\photoshop.exe"
start "" cmd.exe


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]  [/MIN] [/MAX] [/SEPARATE | /SHARED]  
   [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]    
   [/WAIT]  [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。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 沙发  发表于: 2013-08-25 22:46:23 星期日  点亮(0)
硬盘里的文档,整理在这里吧。
不知道还有多少人会经常用到些dos命令。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 板凳  发表于: 2013-08-25 22:47:15 星期日  点亮(0)
继续。
http://www.weather.com.cn/static/html/article/20100330/208870.shtml

Updating,ESCD..扩展系统配置数据更新中
BOOT from CD:从光驱启动:
DISK BOOT TAILURE,INSERT SYSTEM DISK AND PRESS ENTER
硬盘启动失败!插入系统光盘!
ESCD是“Extended System Configuration Data”的缩写,意思是扩展系统配置数据,实际上就是BIOS保留的以前的设备资源分配表。当我们插入一块新的扩展卡时,因为新板卡要占用系统资源,这时就可能会与以前的资源分配表产生冲突,系统在工作时就会表现出不稳定或错误提示。这时候,我们就需要对BIOS的某些选项进行调整。比如,将此时可将 “Reset Configuration Data”(在某些主板上也被称为“Force Update ESCD”)此选项设为Enabled,让系统在再次启动电脑时BIOS重新为所有扩展卡分配系统资源。不过在某些主板上,这个选项被设为Enabled 后,下次启动时又会自动变回到Disabled。还要注意一点,因为ESCD更新数据是存储在主板的BIOS芯片中的。如果主板上的BIOS的FLASH 功能被设置为DISABLE时,系统就无法将更新后的ESCD数据写入FLASH芯片中,所以每次都会出现“UPDATING ESCD.....”这类的提示信息
由于你刚更换了主板电池,所以开机的时候BIOS会自动更新ESCD。这种情况并不会每次都出现。如果希望强制更新,可以开机时按DEL键,把BIOS设置项“PnP/PCI Configuration”中的“Reset Configuration Data”一项设置为“Enabled”,这样下次开机的时候系统就会更新ESCD。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!