中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-08 11:12
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎么自动关闭命令行窗口 查看 15,951 回复 40
16 发表于 2006-07-21 09:06 ·  中国 湖北 武汉 电信
中级用户
★★
积分 245
发帖 103
注册 2006-06-30 00:00
20年会员
UID 57801
性别 男
状态 离线
偶想用批处理调用一个程序adobe reader 7.0,这是看PDF文档的软件,相信很多人用到,路径是"D:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe",现在想用批处理文件启动这个程序后,批处理窗口自动关闭,而 adobe reader 7.0还在运行。偶只能做到批处理启动这个程序,但窗口不能自动 关闭,只要程序还在运行,命令行窗口就还存在,哪位可以实现启动这个程序后自动关闭命令行窗口这样的功能?
注意:要试验后才能发言哟……谢谢……
17 发表于 2006-07-21 10:27 ·  中国 四川 成都 鹏博士宽带
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  楼上的,把你的代码贴出来看看再说。
18 发表于 2006-07-21 10:37 ·  中国 湖北 武汉 电信
中级用户
★★
积分 245
发帖 103
注册 2006-06-30 00:00
20年会员
UID 57801
性别 男
状态 离线
=======

@echo off
"D:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe"
exit

=======
还只有这样才能在批处理中启动程序,其它如START或不要引号等方式都不行。请namejm指教……谢谢……
19 发表于 2006-07-21 10:38 ·  中国 湖北 武汉 电信
中级用户
★★
积分 245
发帖 103
注册 2006-06-30 00:00
20年会员
UID 57801
性别 男
状态 离线
声明……由于某种原因,最好不用cd /d 或pushd popd这切换当前目录的方式的,
20 发表于 2006-07-21 11:30 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
先设置可执行文件的搜索路径再 start。

%ProgramFiles%=系统盘的 Program Files 目录

@echo off
path=%path%;%ProgramFiles%\Adobe\Acrobat 6.0\Reader\
start AcroRd32.exe
exit


[ Last edited by zxcv on 2006-7-21 at 13:11 ]
21 发表于 2006-07-21 12:57 ·  中国 湖北 武汉 电信
中级用户
★★
积分 245
发帖 103
注册 2006-06-30 00:00
20年会员
UID 57801
性别 男
状态 离线
20楼的解法甚是OK,呵呵……
顺便弱弱的问一句,这个PATH设置的路径只对一行start语句有效吧?因为偶在start AcroRd32.exe的下面加了一句 start ABC.exe[这个ABC是批处理的当前目录下的程序],同样也运行起来了……就是说PATH设置的路径不会影响从第一个START开始的第二行和以下的语句吧?
thanks

[ Last edited by flying008 on 2006-7-21 at 13:01 ]
22 发表于 2006-07-21 13:11 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
不会
path只是指明可以到该路径内搜索要执行的文件

更改一下不影响系统默认的设置路径

path=%path%;%ProgramFiles%\Adobe\Acrobat 6.0\Reader\

否则系统原来默认的设置路径里的软件有可能无法执行

[ Last edited by zxcv on 2006-7-21 at 13:14 ]
23 发表于 2006-07-21 13:33 ·  中国 四川 成都 鹏博士宽带
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  path=%path%;%ProgramFiles%\Adobe\Acrobat 6.0\Reader\一句中,用%path%保留了原来默认的搜索路径,所以对直接运行ABC.exe没什么影响,如果去掉%path%,嘿嘿,那你就老老实实地把ABC.exe的绝对路径给添上吧。

  除了用设置搜索路径的办法外,还可以直接用start命令来运行,不过要稍作改动,因为AcroRd32.exe的路径中带了空格符号:start "AcroRd32.exe程序的标题" “AcroRd32.exe的路径”

[ Last edited by namejm on 2006-7-21 at 13:34 ]
24 发表于 2006-07-21 13:57 ·  中国 湖北 武汉 电信
中级用户
★★
积分 245
发帖 103
注册 2006-06-30 00:00
20年会员
UID 57801
性别 男
状态 离线
你好……namejm
可是这个程序AcroRd32.exe用下面的语句
@echo
start "D:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe"
exit
就是不能启动,偶用START加引号试了N次了,
25 发表于 2006-07-21 14:05 ·  中国 四川 成都 鹏博士宽带
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  要用start "AcroRd32.exe的标题" "D:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe",你写对了吗?
26 发表于 2006-07-21 14:10 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
按照 namejm 的思路试了试:
@echo off
start "" "%ProgramFiles%\Adobe\Acrobat 7.0\Reader\AcroRd32.exe"
exit

也可以,其中第一个 "" 为 start 标题引号,可以不用写内容
27 发表于 2006-07-21 14:16 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
对已安装的软件可以忽略路径
@echo off
start AcroRd32
exit
就行了
28 发表于 2006-07-21 15:30 ·  中国 湖北 武汉 电信
中级用户
★★
积分 245
发帖 103
注册 2006-06-30 00:00
20年会员
UID 57801
性别 男
状态 离线
Originally posted by namejm at 2006-7-21 14:05:
  要用start "AcroRd32.exe的标题" "D:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe",你写对了吗?

为什么一定要]"AcroRd32.exe的标题"???偶就是没有写这个,
29 发表于 2006-07-21 15:33 ·  中国 四川 成都 鹏博士宽带
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  “对已安装的软件可以忽略路径”?fastslz你不是在开玩笑吧?反正我把bat文件放在桌面上然后start安装在其他分区的某个程序,从来就没有成功过。

Re zxcv:
  
  呵呵,想不到 start "" "程序路径" 这样的格式也可以,多谢提醒,又长了点知识:)
30 发表于 2006-07-21 15:46 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
Originally posted by fastslz at 2006-7-21 14:16:
对已安装的软件可以忽略路径
@echo off
start AcroRd32
exit
就行了


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

Originally posted by namejm at 2006-7-21 15:33:
  Re zxcv:
  
  呵呵,想不到 start "" "程序路径" 这样的格式也可以,多谢提醒,又长了点知识:)

其实也是定义了标题的,只不过标题为空而已

[ Last edited by zxcv on 2006-7-21 at 15:48 ]
论坛跳转: