Board logo

标题: 怎样编写一个打开某个文件的批处理 [打印本页]

作者: xhz2006     时间: 2006-11-6 06:57    标题: 怎样编写一个打开某个文件的批处理

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

[ Last edited by namejm on 2006-11-5 at 08:20 PM ]
作者: lxmxn     时间: 2006-11-6 07:06

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

作者: vkill     时间: 2006-11-6 07:09
set /p
if %var%==1 start 1&goto :eof
作者: xhz2006     时间: 2006-11-6 07:25
我是菜鸟,谢谢楼上的二位老大,我用了可以,但是我看不懂,菜,菜菜!!!

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

[ Last edited by xhz2006 on 2006-11-6 at 07:27 AM ]
作者: lxmxn     时间: 2006-11-6 07:32

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

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

就退出了对吗?

[ Last edited by xhz2006 on 2006-11-6 at 08:19 AM ]
作者: zerostudy     时间: 2006-11-6 08:20
好像不是哦..这个call 是调另外的批处理.或者另外的标号..DOS不知没有这个quit ...要退出.下面都不用写.他执行完了直接退出..

[ Last edited by zerostudy on 2006-11-6 at 08:21 AM ]
作者: namejm     时间: 2006-11-6 08:23
  如果要退出,把 goto begin 一句去掉就可以了,或者换成 exit,或者换成 goto :eof 都行,quit 不是XP下的退出命令。实际上,一旦执行到最后一句,如果再没有跳转语句或call语句,那么,下一步的动作将是退出。
作者: xhz2006     时间: 2006-11-6 08:33
谢谢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 ]
作者: zerostudy     时间: 2006-11-6 08:50
以下可以打开不同文件夹下的文件
你可以用还是用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
作者: xhz2006     时间: 2006-11-6 09:13
批处理真是奇妙无穷,谢谢zerostudy的指点! ^.^
作者: online365     时间: 2006-11-6 18:09
请问下啊..
start 旁边的 "" 是什么意思啊?
作者: namejm     时间: 2006-11-7 02:11

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

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 "文件路径" 的格式把引号里的内容误认为是窗口标题;
作者: online365     时间: 2006-11-7 08:28
谢谢 namejm 大哥```