中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS学习入门 & 精彩文章 (教学室) » 命令提示符下怎么创建批处理文件??、
« [1] [2] »
作者:
标题: 命令提示符下怎么创建批处理文件??、 上一主题 | 下一主题
星月当心
初级用户




积分 107
发帖 3
注册 2004-3-13
状态 离线
『楼 主』:  命令提示符下怎么创建批处理文件??、

命令提示符下怎么创建批处理文件??、
高手执教一下,说得详细点,最好有举例说明!!!
感激不尽!!

2004-3-13 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qzwqzw
银牌会员

天的白色影子


积分 2342
发帖 635
注册 2004-3-6
状态 离线
『第 2 楼』:  

两个方法:
1:copy con 文件名.bat
写完以后按 ctrl+Z 然后回车结束

2:edit 文件名.bat
写完以后按 alt+F  然后x结束

其实怎么创建并不难,关键是在里面写什么东西,可写的东西很多,就看你干什么用。

2004-3-13 00:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qzwqzw
银牌会员

天的白色影子


积分 2342
发帖 635
注册 2004-3-6
状态 离线
『第 3 楼』:  

给你个极其经典的范例:

C:\copy con hello.bat
echo Hello world!
按Ctrl+Z再按回车
C:\hello

2004-3-13 00:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qinqong
高级用户




积分 599
发帖 148
注册 2003-10-30
状态 离线
『第 4 楼』:  

为什么不用记事本呢,命名后 后缀改为.bat就可以用了

2004-3-13 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qzwqzw
银牌会员

天的白色影子


积分 2342
发帖 635
注册 2004-3-6
状态 离线
『第 5 楼』:  

4楼的,用记事本很麻烦的,因为他会自动加上txt的扩展名啊!

2004-3-14 00:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xiaojun
银牌会员





积分 2202
发帖 499
注册 2003-6-12
状态 离线
『第 6 楼』:  

c:\> Echo How are you...!>a.bat
        c:\>a




一年四季,枫叶红了又红;人生四季,失去的,还能再来吗?—— !
2004-3-14 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
redbee_3
初级用户




积分 148
发帖 9
注册 2003-12-21
状态 离线
『第 7 楼』:  

其实在用记事本编辑自动批处理时,保存时只要将保存类型选择为所有类型(*.*),然后在文件名加上.bat就可以了!以下是我转贴的一篇文章,希望给大家一点帮助。其实我也有一些命令不懂,希望大家切磋切磋!!!

转贴自新DOS时代 《站长(Wengier),版权所有》
DOS批处理文件
    DOS下的可执行文件有三种,分别是EXE,COM和BAT。其中,EXE和COM文件都是二进制形式的,只有BAT文件是文本形式的,可以直接阅读。因此,BAT文件和以上二进制可执行文件相比,内容要简单的多。这些文件内包含着DOS命令的集合,通常叫作批处理文件。批处理文件的组成虽然比较简单,但其用处非常大,使用也比较广泛。比如每次都执行一些相同的命令,您一定会觉得非常麻烦,而放在批处理文件中执行的话则轻松得多。AUTOEXEC.BAT就是一个特殊的批处理文件,它在DOS的启动时自动运行,在系统的配置中发挥着非常大的作用。因此,要学好DOS,就要学好批处理文件。下面介绍批处理文件的命令及其使用。

DOS自带的批处理命令:

@:将这个符号放在批文件中其它命令的前面,运行时将不显示命令本身。
如@ECHO OFF命令就在批文件首经常用到。

CALL:从一个批文件中调用另一个批文件,调用完后继续执行原来的批文件。
用法:CALL [批文件名]
注:也可以使用COMMAND /C命令完成同样的操作。

CHOICE:选择命令。这是一个DOS外部命令,但它主要用在批文件中。
CHOICE命令执行后将提示可选择的项目,这时通过一个按键来选则。
用法:CHOICE:[/C[:]按键表] [/N] [/S] [/T[:]选择值,秒数] [显示文本]
其中,/C表示可选则的按键,/N表示不要显示提示信息,/S表示大小写字符敏感方式,/T表示若在批定的时间内没有选则的话,自动执行/C中定义的某个选择值。显示文本是CHOICE命令执行时的提示信息。选择结果将用ERRORLEVEL值来表示。

ECHO:显示指定的信息。通常显示在屏幕上。
如ECHO Hello将在屏幕上显示Hello的字样。
另外,ECHO ON|OFF用来设置在批文件执行时是否显示命令本身。而ECHO OFF与@的意思一样,但它是一个单独的命令,而不能像@那样放在其它命令之前。

FOR:对于指定的文件运行相应的命令。
大家知道,DOS下许多命令支持通配符,如?和*,可以一次指定一批文件,非常方便。然而,并非所有的DOS命令都支持通配符,如TYPE(文件内容显示命令)就不支持。有了FOR命令就没有关系了,利于它可以使TYPE命令可以一次显示多个文件。
用法:FOR %变量名 IN (文件集) DO 命令 [命令参数]
注:以上是FOR命令的固定形式,IN和DO的位置必须正确,否则将提示语法错误。
如FOR %F IN (*.*) DO TYPE %F命令就可以实现TYPE命令一次显示多个文件。
注:%F是变量名,也可用%G等代替,但前后必须一致。在批文件中用%%F代替。

GOTO:转到批文件内部的某个标号下执行。
大家知道,在编程中往往需要重复或跳转到某个地方继续执行,如BASIC语言中的GOTO命令。批文件中的GOTO命令也可以完成类似的功能。
用法:GOTO [标号名]
其中,标号名是可以随意设置的,如Hello等。设置标号用“:”符号,如“:Hello”,这时用GOTO Hello命令将转到“:Hello”所在的位置继续执行批文件。

IF:条件判断命令。这是一项很有用的批处理命令。
用法1:IF [NOT] EXIST 文件名 命令 [命令参数]
意义:如果[不]存在某个文件将执行某个命令。
用法2:IF [NOT] ERRORLEVEL 错误返回代号 命令 [命令参数]
意义:如果错误返回代号[不]大于或等于指定的代号将执行某个命令。
其中,ERRORLEVEL表示错误返回代号,很有用。对于很多DOS命令,由于执行的结果不同(如执行成功,执行失败,或被用户中断等),这些命令会返回不同的代号,以表示不同的结果。IF ERRORLEVEL命令就根据这个不同结果而产生的不同代号来执行不同的命令,通常用在某条命令之后。如IF ERRORLEVEL 1 ECHO OK!表示如果当前的错误返回代号大于或等于1时将在屏幕上显示“OK!”的字样。
用法3:IF [NOT] 字符串1==字符串2 命令 [命令参数]
意义:当字符串1和字符串2[不]相等的时候执行某个命令。

PAUSE:暂停批文件的执行,并显示“按任意键继续”的字样。

REM:添加注解。用于增加文件可读性,将不被执行。也可以用::来代替。

SHIFT:在批文件中改变可替换参数的位置。
可替换参数是一种特殊的参数,只能用在批文件中。这些参数是由使用者在执行批处理命令时输入的。比如,我们执行DIR /S /W命令,其中DIR是命令名,/S和/W是它的执行参数。在批文件中,这些命令参数将被分别赋予到可替换参数中,如/S就成的%1,/W就可了%2,以至类推,而命令本身则被赋予%0中。批文件就是利用可替换参数对执行时输入的参数来进行操作的。比如现在有个批处理文件叫MYFILE.BAT,在命令行下执行MYFILE.BAT YES,于是%0的值就是MYFILE.BAT,%1的值就是“YES”,可以在此批文件中用IF等命令判断出%1等参数的值,然后根据这些值的不同执行不同的操作,如IF "%1"=="YES" GOTO YES。
SHIFT命令不带任何参数,执行结果是将%0的值换成原%1的值,而原%1的值变成的原%2的值,以此类推。注意它的不可逆转性。因为批处理文件执行时的运行参数可能很多,可能会超过10个,而可替换参数只能从%0到%9,若想取得%9以后的参数值,只能使用SHIFT命令。这时,整个参数列将向前推。

    以上是DOS的自带批处理命令,可以看出,这些命令是非常少的,若要编写较复杂的程序,用以上的命令显然不可能实现。这时就需要其它实用的批处理工具了,著名且实用的有TESTIF,STRING,ASET,BATCHMAN,WBAT等,均可在“DOS软件分类下载”中的“脚本工具”中下载。在批处理文件中使用以上的工具可以实现非常强大的功能,甚至可以完成许多高级语言程序的功能。所以,如果您想编者按写批处理文件的话,它们是您不错的选择,不仅有详细的文档,而且还在不断发展中。

    下面就要谈批处理文件的制作了。其实制作批处理文件并不难,只要掌握了方法就行了。随着您操作次数的增多,您会觉得越来越容易的。

    首先使用一个文本编辑器,如DOS自带的EDIT命令或其它的编辑工具,如PEDIT等新建一个空白文件(当然,用COPY CON命令直接创建也行),然后在其中根据您想完成的功能输入批处理命令。如果您只是想执行一些的DOS命令的集合,则按顺序在每行输入一个DOS命令就行了。但如果您是想完成一些更复杂的操作,就需要以上的批处理命令或上述的批处理工具了。

    以下是我原来所编的一个从1%慢慢增加到100%的批处理小程序,大家可以用作参考,以编写自己的程序。

@echo off
break off
cls
set c=0
writext 10 1 Wait...
be delay 4
:loop
writext 10 9 %c%%%completed.
count c
if not %c%==101 goto loop
echo.
set c=
kpush /f
break on

    其中,我用到了WRITEXT,COUNT,BE和KPUSH,这些都是批处理工具。WRITEXT是ECHO的增强工具,可以自定义显示的效果。COUNT是变量的计算工具,如原来C的值为1,执行COUNT C后C的值就为2。BE是个强大的批处理增强工具,在Norton Utilties 8.0中带有。KPUSH是键盘缓冲工具。



2004-3-14 00:00
查看资料  发送邮件  发短消息 网志  OICQ (309157907)  编辑帖子  回复  引用回复
mydoslg
初级用户





积分 39
发帖 15
注册 2006-10-14
状态 离线
『第 8 楼』:  

那个be和kpush如果没有应该有什么来代替

2006-10-14 09:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 9 楼』:  

现在不是纯DOS了,都是NT命令行喽。生成文件的方法太多了




C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-10-14 11:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




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



  Quote:
Originally posted by qzwqzw at 2004-3-14 00:00:
4楼的,用记事本很麻烦的,因为他会自动加上txt的扩展名啊!


  导致这个问题的原因是你把文件的扩展名隐藏了。

  可以这么解决:
      
      随便打开一个文件夹——单击[工具]菜单——[文件夹选项]——[查看]标签——将[隐藏已知文件类型的扩展名]前面的勾去掉——确定。

  即可解决了。


2006-10-14 12:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




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


  用命令行方式创建文件的方法实在是太多了。

  copy nul filename.bat

  cd.>filename.bat

      echo.>filename.bat
  
      自己在论坛里面搜索一下就有很多方法了。


2006-10-14 12:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
doeasy2006
初级用户




积分 66
发帖 31
注册 2006-11-22
来自 天津市
状态 离线
『第 12 楼』:  



  Quote:
Originally posted by qinqong at 2004-3-12 11:00 AM:
为什么不用记事本呢,命名后 后缀改为.bat就可以用了

支持!
BAT文件在多数情况下是依靠范本来写作的:大半是粘上的;少数是修改的——可以在windows下进行多页面写作,不仅能够提高写作效率而且能够减少录入的误差。
何况txt文件还是DOS与windows少有的书面文件呢?

2007-2-15 10:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xunlian
初级用户




积分 52
发帖 28
注册 2007-3-26
来自 河北省辛集市
状态 离线
『第 13 楼』:  

顶一下高手了

2007-3-29 10:26
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
yang7516
新手上路





积分 15
发帖 8
注册 2007-3-14
状态 离线
『第 14 楼』:  

其实,用记事本作完后,在保存类型下选择“所有文件”,即可将txt改为.bat

2007-3-29 23:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yhl
初级用户




积分 28
发帖 16
注册 2007-3-31
状态 离线
『第 15 楼』:  

8错

2007-3-31 13:55
查看资料  发送邮件  发短消息 网志  OICQ (421198795)  编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: