中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 09:08
48,037 主题排行 / 350,122 发帖 / 今日 0 篇 / 48,250 会员排行
DOS批处理 & 脚本技术(批处理室) » 怎样编写一个打开某个文件的批处理
可打印版本  2,538 / 15
第1楼 xhz2006 发表于 2006-11-06 06:57
新手上路 发帖 7 积分 16
怎样编写一个打开某个文件的批处理
那位老大介绍一个DOS批处理的实际例子!谢谢!!
例如:我有10个单独电子表格文件,用一个批处理在WIN XP下打开调用,启动批处理文件后,提示选择项,比如输入 1 打开第一个电子表格,输入 2打开第二个电子表格......。请高人帮忙,先谢谢了!

[ Last edited by namejm on 2006-11-5 at 08:20 PM ]
第2楼 lxmxn 发表于 2006-11-06 07:06
版主 发帖 4,938 积分 11,386

假设你的电子表格文件的名称依次为1.exl,2.exl,…………
第3楼 vkill 发表于 2006-11-06 07:09
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
set /p
if %var%==1 start 1&goto :eof
第4楼 xhz2006 发表于 2006-11-06 07:25
新手上路 发帖 7 积分 16
我是菜鸟,谢谢楼上的二位老大,我用了可以,但是我看不懂,菜,菜菜!!!

@echo off
:begin
set /p choose=请输入要打开的电子表格文件的序号:
start "" /min %choose%.exl
goto begin

[ Last edited by xhz2006 on 2006-11-6 at 07:27 AM ]
第5楼 lxmxn 发表于 2006-11-06 07:32
版主 发帖 4,938 积分 11,386

  有时间多看看帮助吧.

第6楼 xhz2006 发表于 2006-11-06 07:58
新手上路 发帖 7 积分 16
再次谢谢lxmxn,看帮助去 ^.^
第7楼 zerostudy 发表于 2006-11-06 08:01
中级用户 发帖 98 积分 266
@echo off ///这个就是执行时不显示本身.自己试试
:begin //这个是标号来的....下面用到
set /p choose=请输入要打开的电子表格文件的序号: ///好像是设一个变量是choose ...键盘输入的数字传给这个变量.
start "" /min %choose%.exl ////start /? 帮助看看..就是打开 一个exl文件.他的名就是.刚才你输入的数字...%choose% 比如刚才输了1.那么%choose%这个就是1了.
goto begin 打开一个文件后..再跳回开头那里...一直这样循环着.
第8楼 xhz2006 发表于 2006-11-06 08:10
新手上路 发帖 7 积分 16
谢谢zerostudy,你的解释对我来说帮助很大,谢谢了!!继续帮助交流!!!
如果:
@echo off
:begin
set /p choose=请输入要打开的电子表格文件的序号:
start "" /min %choose%.xls
quit

就退出了对吗?

[ Last edited by xhz2006 on 2006-11-6 at 08:19 AM ]
第9楼 zerostudy 发表于 2006-11-06 08:20
中级用户 发帖 98 积分 266
好像不是哦..这个call 是调另外的批处理.或者另外的标号..DOS不知没有这个quit ...要退出.下面都不用写.他执行完了直接退出..

[ Last edited by zerostudy on 2006-11-6 at 08:21 AM ]
第10楼 namejm 发表于 2006-11-06 08:23
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  如果要退出,把 goto begin 一句去掉就可以了,或者换成 exit,或者换成 goto :eof 都行,quit 不是XP下的退出命令。实际上,一旦执行到最后一句,如果再没有跳转语句或call语句,那么,下一步的动作将是退出。
第11楼 xhz2006 发表于 2006-11-06 08:33
新手上路 发帖 7 积分 16
谢谢9楼的朋友和namejm版主,继续学习!

@echo off
:begin
path=c:\.....
set /p choose=请输入要打开的电子表格文件的序号:
start "" /min %choose%.exl
goto begin

就在不同的路径下调用打开了吧?

[ Last edited by xhz2006 on 2006-11-6 at 08:38 AM ]
第12楼 zerostudy 发表于 2006-11-06 08:50
中级用户 发帖 98 积分 266
以下可以打开不同文件夹下的文件
你可以用还是用set /p
@echo off
:q
set /p a=按y打开文件按n退出:
if %a%==y goto lu
if %a%==n goto e
:lu
set /p b=请输入路径(比如c盘要打c:,c盘下的文件夹a要打c:\a):
goto begin
:begin
set /p choose=请输入要打开的电子表格文件的序号:
start "" /min %b%\%choose%.exl
goto q
:e
exit
第13楼 xhz2006 发表于 2006-11-06 09:13
新手上路 发帖 7 积分 16
批处理真是奇妙无穷,谢谢zerostudy的指点! ^.^
第14楼 online365 发表于 2006-11-06 18:09
初级用户 发帖 75 积分 182
请问下啊..
start 旁边的 "" 是什么意思啊?
第15楼 namejm 发表于 2006-11-07 02:11
荣誉版主 发帖 1,737 积分 5,226 来自 成都

  表示引用了一个窗口标题,由 "title" 演变而来,用""而不用"title"是start命令的一个技巧,常用于以下情形:
  1、无法获取准确的窗口标题的时候;
  2、当要打开的文件名或所在路径带空格、必须用引号把路径括起来的时候,防止 start "文件路径" 的格式把引号里的内容误认为是窗口标题;
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023