中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-08 11:13
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎么自动关闭命令行窗口 查看 15,954 回复 40
31 发表于 2006-07-21 16:11 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
Originally posted by zxcv at 2006-7-21 15:46:

不过只能是一部分正确安装并在注册表注册了的才行,我试了正常安装的、AutoCAD可以


是的绝大部分已安装的软件都能start,特别国外或是大性软件公司的。简单列出几个常用的
start realplay
start ACDSee7
start mplayerc
start winrar
start kav
start QuickTimePlayer
start nero
start uedit32
start Office系列....
start Microsoft所有组件....
聊天工具就QQ不行

[ Last edited by fastslz on 2006-7-21 at 16:12 ]
32 发表于 2006-07-21 16:30 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
关键就是:要用正常的安装方式安装后再在注册表注册了的
33 发表于 2006-09-04 06:52 ·  中国 上海 黄浦区 电信
新手上路
积分 18
发帖 7
注册 2006-09-01 08:31
19年会员
UID 61668
状态 离线
exit?
34 发表于 2006-09-04 07:30 ·  中国 四川 绵阳 电信
高级用户
★★
积分 587
发帖 282
注册 2006-04-10 03:40
20年会员
UID 53599
性别 男
状态 离线
用快捷方式呀^.^
35 发表于 2006-12-29 10:05 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,179
发帖 442
注册 2006-09-09 22:47
19年会员
UID 62249
状态 离线
Originally posted by namejm at 2006-7-21 15:33:
  “对已安装的软件可以忽略路径”?fastslz你不是在开玩笑吧?反正我把bat文件放在桌面上然后start安装在其他分区的某个程序,从来就没有成功迠...



namejm斑竹,其实start 的确可以忽略很多路径,而且还可以启动某个目录,如
start system32那么就会直接打开WINDOWS的system32目录。

关于START忽略路径的可以在注册表中设置,注册表中可以忽略路径的命令全部储存在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths下面,你甚至可以直接使用BAT添加需要可以忽略路径的程序。如下面我添加一个可以启动ACCESS 2000 RUNTIME的MSACCESS.EXE程序,为了不与原来的MSACESS.EXE程序冲突,我改为可以在命令中输入START ACCESS2K.EXE来启动应用程序


ECHO HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\ACCESS2K.EXE] >TMP.REG
ECHO @="D:\\Access2KRT\\Office\\MSACCESS.EXE">>TMP.REG
ECHO "Path"="D:\\Access2KRT\\Office\\">>TMP.REG
ECHO "useURL"="1>>TMP.REG
REGEDIT /S TMP.REG
DEL TMP.REG /Q/F
36 发表于 2006-12-29 11:59 ·  中国 北京 中国科学院研究生院
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
19年会员
UID 74129
性别 男
状态 离线

@echo off
cd "要运行的程序的路径"
start /min 名称
exit


比如:
路径为 d:\program files\
名称为 wmplayer.exe

记得加双引号


[ Last edited by scriptor on 2006-12-28 at 11:21 PM ]
37 发表于 2006-12-29 12:31
中级用户
★★
DOS之日
积分 337
发帖 161
注册 2006-11-04 05:27
19年会员
UID 69523
性别 男
状态 离线
用%PATH%来找文件的确是不错的。呵,还可以这样用执行文件的查找路径.


@echo off
SET PH=%ProgramFiles%\Adobe\Acrobat 7.0\Reader\
FOR %%I IN (AcroRd32.exe) DO start "" "%%~$PH:I"
exit


在PH中可以像PATH一样用;分隔多个路径.
for /f %%h in (`echo hxuan`) do for /f %%x in (`echo hxuan`) do if %%h==%%x nul
38 发表于 2006-12-29 12:37
中级用户
★★
DOS之日
积分 337
发帖 161
注册 2006-11-04 05:27
19年会员
UID 69523
性别 男
状态 离线
另外想到有两个题没人回答那我答一下吧,呵.
1,是为什么用START就可以自动的关闭CMD窗口.
2,是为什么一定要用start "AcroRd32.exe的标题" "D:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe"才能执行.

第一个是因为,如果是内部的CMD命令,或是批文件的化默认是以CMD /K来运行的,/K也是就是运行程序并保持窗口.
第二个是因为,加了引号的路径被认成了是标题的字符串了,所以不就是没有路径了,也就出错了.要是你写成了,

start "D:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe" AA

那就会提示你文件AA找不到呀.

[ Last edited by hxuan999 on 2006-12-29 at 07:53 PM ]
for /f %%h in (`echo hxuan`) do for /f %%x in (`echo hxuan`) do if %%h==%%x nul
39 发表于 2006-12-31 07:25
中级用户
★★
DOS之日
积分 337
发帖 161
注册 2006-11-04 05:27
19年会员
UID 69523
性别 男
状态 离线
for /f %%h in (`echo hxuan`) do for /f %%x in (`echo hxuan`) do if %%h==%%x nul
40 发表于 2007-03-23 05:51 ·  中国 广东 深圳 电信
初级用户
积分 59
发帖 28
注册 2007-03-23 05:18
19年会员
UID 82622
性别 男
状态 离线
联盟中联盟的人太多!不是我笨!
41 发表于 2007-06-29 02:43 ·  中国 湖北 十堰 郧西县 联通
初级用户
积分 38
发帖 20
注册 2006-07-04 16:50
20年会员
UID 58001
状态 离线
start经典问题,都遇到过。
论坛跳转: