中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎样编写一个打开某个文件的批处理
« [1] [2] »
作者:
标题: 怎样编写一个打开某个文件的批处理 上一主题 | 下一主题
xhz2006
新手上路





积分 16
发帖 7
注册 2006-4-5
状态 离线
『楼 主』:  怎样编写一个打开某个文件的批处理

那位老大介绍一个DOS批处理的实际例子!谢谢!!
例如:我有10个单独电子表格文件,用一个批处理在WIN XP下打开调用,启动批处理文件后,提示选择项,比如输入 1 打开第一个电子表格,输入 2打开第二个电子表格......。请高人帮忙,先谢谢了!

[ Last edited by namejm on 2006-11-5 at 08:20 PM ]

2006-11-6 06:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 2 楼』:  


假设你的电子表格文件的名称依次为1.exl,2.exl,…………
@echo off
:begin
set /p choose=请输入要打开的电子表格文件的序号:
start "" /min %choose%.exl
goto begin


   此帖被 +2 点积分     点击查看详情   
评分人:【 redtek 分数: +2  时间:2006-11-6 09:34


2006-11-6 07:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 3 楼』:  

set /p
if %var%==1 start 1&goto :eof

2006-11-6 07:09
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
xhz2006
新手上路





积分 16
发帖 7
注册 2006-4-5
状态 离线
『第 4 楼』:  

我是菜鸟,谢谢楼上的二位老大,我用了可以,但是我看不懂,菜,菜菜!!!

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

[ Last edited by xhz2006 on 2006-11-6 at 07:27 AM ]

2006-11-6 07:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 5 楼』:  


  有时间多看看帮助吧.
hh ntcmds.chm::/ntcmds.htm


2006-11-6 07:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xhz2006
新手上路





积分 16
发帖 7
注册 2006-4-5
状态 离线
『第 6 楼』:  

再次谢谢lxmxn,看帮助去 ^.^

2006-11-6 07:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zerostudy
中级用户





积分 266
发帖 98
注册 2006-4-21
状态 离线
『第 7 楼』:  

@echo off ///这个就是执行时不显示本身.自己试试
:begin   //这个是标号来的....下面用到
set /p choose=请输入要打开的电子表格文件的序号:  ///好像是设一个变量是choose ...键盘输入的数字传给这个变量.
start "" /min %choose%.exl ////start /? 帮助看看..就是打开 一个exl文件.他的名就是.刚才你输入的数字...%choose% 比如刚才输了1.那么%choose%这个就是1了.
goto begin 打开一个文件后..再跳回开头那里...一直这样循环着.

   此帖被 +2 点积分     点击查看详情   
评分人:【 redtek 分数: +2  时间:2006-11-6 20:47




纵是千年万年 亦难以忘记
2006-11-6 08:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xhz2006
新手上路





积分 16
发帖 7
注册 2006-4-5
状态 离线
『第 8 楼』:  

谢谢zerostudy,你的解释对我来说帮助很大,谢谢了!!继续帮助交流!!!
如果:
@echo off
:begin
set /p choose=请输入要打开的电子表格文件的序号:
start "" /min %choose%.xls
quit

就退出了对吗?

[ Last edited by xhz2006 on 2006-11-6 at 08:19 AM ]

2006-11-6 08:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zerostudy
中级用户





积分 266
发帖 98
注册 2006-4-21
状态 离线
『第 9 楼』:  

好像不是哦..这个call 是调另外的批处理.或者另外的标号..DOS不知没有这个quit ...要退出.下面都不用写.他执行完了直接退出..

[ Last edited by zerostudy on 2006-11-6 at 08:21 AM ]



纵是千年万年 亦难以忘记
2006-11-6 08:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 10 楼』:  

  如果要退出,把 goto begin 一句去掉就可以了,或者换成 exit,或者换成 goto :eof 都行,quit 不是XP下的退出命令。实际上,一旦执行到最后一句,如果再没有跳转语句或call语句,那么,下一步的动作将是退出。



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-11-6 08:23
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xhz2006
新手上路





积分 16
发帖 7
注册 2006-4-5
状态 离线
『第 11 楼』:  

谢谢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 ]

2006-11-6 08:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zerostudy
中级用户





积分 266
发帖 98
注册 2006-4-21
状态 离线
『第 12 楼』:  

以下可以打开不同文件夹下的文件
你可以用还是用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



纵是千年万年 亦难以忘记
2006-11-6 08:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xhz2006
新手上路





积分 16
发帖 7
注册 2006-4-5
状态 离线
『第 13 楼』:  

批处理真是奇妙无穷,谢谢zerostudy的指点! ^.^

2006-11-6 09:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
online365
初级用户




积分 182
发帖 75
注册 2006-10-11
状态 离线
『第 14 楼』:  

请问下啊..
start 旁边的 "" 是什么意思啊?

2006-11-6 18:09
查看资料  发送邮件  发短消息 网志  OICQ (123000365)  编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 15 楼』:  


启动另一个窗口运行指定的程序或命令。

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

    "title"     在窗口标题栏中显示的标题。
  ……
  表示引用了一个窗口标题,由 "title" 演变而来,用""而不用"title"是start命令的一个技巧,常用于以下情形:
  1、无法获取准确的窗口标题的时候;
  2、当要打开的文件名或所在路径带空格、必须用引号把路径括起来的时候,防止 start "文件路径" 的格式把引号里的内容误认为是窗口标题;



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-11-7 02:11
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: