【转】想学批处理的看这里

 

想学批处理的看这里

阅读本文需要一定的dos基础概念,

象:盘符、文件、目录(文件夹)、子目录、根目录、当前目录

每个命令的完整说明请加 /? 参数参考微软的帮助文档

可以看到,在 /? 帮助里,"命令扩展名"一词会经常出现

"命令扩展名"是指相对于win98的dos版本而言,每个命令新增的功能.

命令测试环境win2000proSP4win98的命令功能太少,就不作研究了


-------------------------------------------------------------------------------------------------------------------
1 echo 和 @
回显控制命令

@      #关闭单行回显
echo off       #从下一行开始关闭回显
@echo off        #从本行开始关闭回显。一般批处理第一行都是这个
echo on        #从下一行开始打开回显
echo       #显示当前是 echo off 状态还是 echo on 状态
echo.       #输出一个"回车换行",一般就是指空白行
echo hello world        #输出hello world

"关闭回显"是指运行批处理文件时,不显示文件里的每条命令,只显示运行结果
批处理开始和结束时,系统都会自动打开回显

-------------------------------------------------------------------------------------------------------------------
2 errorlevel
程序返回码

echo %errorlevel%
每个命令运行结束,可以用这个命令行格式查看返回码
用于判断刚才的命令是否执行成功
默认值为0,一般命令执行出错会设 errorlevel 为1
-------------------------------------------------------------------------------------------------------------------
3 dir
显示目录中的文件和子目录列表

dir        #显示当前目录中的文件和子目录
dir /a        #显示当前目录中的文件和子目录,包括隐藏文件和系统文件
dir c: /a:d        #显示 C 盘当前目录中的目录
dir c:\\ /a:-d        #显示 C 盘根目录中的文件
dir d:\\mp3 /b/p        #逐屏显示 d:\\mp3 目录里的文件,只显示文件名,不显示时间和大小

dir *.exe /s
显示当前目录和子目录里所有的.exe文件其中 * 是通配符,
代表所有的文件名,还一个通配符 ? 代表一个任意字母或汉字
如 c*.* 代表以 c 开头的所有文件?.exe 代表所有文件名是一个字母的.exe文件

如果指定的目录或文件不存在,将返回 errorlevel 为1

每个文件夹的 dir 输出都会有2个子目录 . 和 ..
. 代表当前目录.. 代表当前目录的上级目录
dir .        #显示当前目录中的文件和子目录
dir ..        #显示当前目录的上级目录中的文件和子目录

其它参数可参考 dir /?
-------------------------------------------------------------------------------------------------------------------
4 cd
更改当前目录

cd mp3       #进入当前目录中的mp3 目录
cd .. #进入当前目录中的上级目录
cd\\      #进入根目录
cd #显示当前目录
cd /d d:\\mp3        #可以同时更改盘符和目录

cd\\"Documents and Settings"\\All users
文件名带空格,可以不加引号
建议加上引号,因为有的时候不加引号会运行出错,如登录脚本

如果更改到的目录不存在,则出错返回 errorlevel=1
-------------------------------------------------------------------------------------------------------------------
5 md
创建目录

md abc       #在当前目录里建立子目录 abc
md d:\\a\\b\\c        #如果 d:\\a 不存在,将会自动创建
-------------------------------------------------------------------------------------------------------------------
6 rd
删除目录

rd abc      #删除当前目录里的 abc 子目录,要求为空目录
rd /s/q d:\\temp        #删除 d:\\temp 文件夹及其子文件夹和文件,不需要按 Y 确认
-------------------------------------------------------------------------------------------------------------------
7 del
删除文件

del d:\\test.txt        #删除指定文件,不能是隐藏、系统、只读文件

del *.*
删除当前目录里的所有文件,不包括隐藏、系统、只读文件,要求按 Y 确认

del /q/a/f d:\\temp\\*.*
删除 d:\\temp 文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录

del /q/a/f/s d:\\temp\\*.*
删除 d:\\temp 及子文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录
-------------------------------------------------------------------------------------------------------------------
8 ren
文件重命名

ren 1.txt 2.bak      #把 1.txt 更名为 2.bak
ren *.txt *.ini #把当前目录里所有.txt文件改成.ini文件
ren d:\\temp tmp        #支持对文件夹的重命名
-------------------------------------------------------------------------------------------------------------------
9 cls
清屏
-------------------------------------------------------------------------------------------------------------------
10 type
显示文件内容

type c:\\boot.ini        #显示指定文件的内容,程序文件一般会显示乱码
type *.txt        #显示当前目录里所有.txt文件的内容
-------------------------------------------------------------------------------------------------------------------
11 copy
拷贝文件

copy c:\\test.txt d:\复制 c:\\test.txt 文件到 d:\
copy c:\\test.txt d:\\test.bak
复制 c:\\test.txt 文件到 d:\\ ,并重命名为 test.bak

copy c:\\*.*
复制 c:\\ 所有文件到当前目录,不包括隐藏文件和系统文件
不指定目标路径,则默认目标路径为当前目录

copy con test.txt
从屏幕上等待输入,按 Ctrl+Z 结束输入,输入内容存为test.txt文件
con代表屏幕,prn代表打印机,nul代表空设备

copy 1.txt + 2.txt 3.txt
合并 1.txt 和 2.txt 的内容,保存为 3.txt 文件
如果不指定 3.txt ,则保存到 1.txt

copy test.txt +
复制文件到自己,实际上是修改了文件日期


COPY命令的技巧集成

目前,各种能够完成copy命令的工具软件层出不穷,许多人在操作时都已习惯了用pctools之类的工具来代替copy命令。但是copy命令的优势是任何软件都替代不了的。因为它是一个内部命令,只要计算机能够启动,它便可以运行,不需要任何软件支持。因此,熟练掌握copy命令是更加有效使用计算机的基本功。在执行copy的帮助命令copy/?时,将会得到copy命令格式的英文说明。

copy〈盘符〉[〈路径〉]〈源文件名〉[/A|/B][+〈源文件名〉[/A|/B][+...]][〈盘符〉][〈路径〉][〈目标文件名〉[/A|/B]][/V][/Y|/-Y]

其中/A为ASCII文本,即在拷贝文件时拷贝到第一个CTRL-Z(EOF)为止。

/B为二进制文件,即在拷贝时对CTRL-Z(EOF)象处理其它字符一样。

/V拷贝的同时并进行校验。

/Y在拷贝时 若遇同名文件可直接覆盖。

/-Y在拷贝时

若遇同名文件时,询问是否覆盖。

copy命令的选择项符合DOS命令的基本规则,巧妙地选用不同参数并结合通配符"*"或"?",将会使完成各种copy命令的操作更加方便。以下是copy命令的几种基本运用。所有命令举例都假设在当前路径下进行。

一、文件复制 这是copy命令的最常见用途。如果文件同名则必不在同一目录中,如果 不同名则可在同一目录中建立一个新的文件。

二、文件合并: copy文件名1+文件名2+...新文件名

此法多用于文本说明书、文本源程序等文本格式的文件合并。如果有新文件名则将所有要合并的文件合并起来建立一个新文件,如果没有新文件名则将所有要合并的文件合并起来建立在第一个文件中。

对于非文本格式的文件合并必须在第一个文件名之后加上/B参数。

例如:copy*.wps/b new.wps

三、文件的屏幕显示

(1)文本文件的显示 copy*.txt con

在实际工作中往往需要对某一类文本文件进行显示。而type显示命令只能单个文件显示,如果要连续显示多个同类文件,使用copy命令则更为方便。

(2)WPS文件的显示copy*.wps/b con

如果仅仅为了查看WPS文件的内容,则不需要进入WPS,只需要在DOS状态下,键入上述命令便可找到所需文件。

四、编辑简单的文本文件:copy con要编辑的文件名

对于简单的文本(如autoexec.bat)使用其它编辑工具,反倒显得麻烦。使用上述命令,即可进行文件编辑,当按F6键后,再回车便可以在磁盘上建立该文本文件。

五、充当打字机:copy con prn

在日常生活中,经常会遇到一些文稿内容简单却又急需形成书面文字的材料。用上述命令,即可进行文稿编辑,当按F6键后,再次回车。既直接把信息送往打印机,而不在磁盘上留下任何痕迹。用此方法还可以测试打印机是否联机。

六、进行键盘打字练习:copy con>con

如果仅仅为了键盘练习,而不想有任何保留,在DOS状态提示下最多可写127个字符,一旦回车,便会显示Bad command or file name信息,十分不便。如果使用上述命令,则可以无所顾及的进行练习,直到按F6再回车或按CTRL-C终止。

七、删除文件使其不可恢复:copy nul需要删除的文件名

使用DEL命令对文件进行删除后,用PCTOOLS工具软件或UNDelete命令,可以使被删除的文件得到恢复。对重要文件的删除,使用上述命令后,用任何工具无法恢复,从而加强了被 删文件的保密性。

八、更改文件的建立日期和时间:copy需要改期的文件名+,,

为了避免对一些应用系统文件的误删除,往往把文件建立的日期置为统一日期,先用DATE和TIME命令将系统日期定为所需日期和时间,然后再用上述命令,即可改文件的建立日期和时间。此命令只适用单个文件修改,而不能用通配符"*"进行批量修改。否则,将删除批量中的第一个文件。

九、文件打印:copy文件名prn

多用于对文本文件的直接打印。

十、单驱动器的文件复制:如果仅仅只有单驱动器,或者出于某种原因只能使用单驱动器进行的文件复制,那么首先在COMS中,只定义所用的单驱动器类型(如:A盘为5 1/4 1.2M或3 1/2 1.44MB盘为NONE)然后用copy a:文件名b:的命令,并按照屏幕提示插取磁盘,即可完成单驱动器的文件复制。
-------------------------------------------------------------------------------------------------------------------
12 title
设置cmd窗口的标题

title 新标题        #可以看到cmd窗口的标题栏变了
-------------------------------------------------------------------------------------------------------------------
13 ver
显示系统版本
-------------------------------------------------------------------------------------------------------------------
14 label 和 vol
设置卷标
vol       #显示卷标
label       #显示卷标,同时提示输入新卷标
label c:system        #设置C盘的卷标为 system
------------------------------------------------------------------------------------------------------------------- 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟V-SpHeNIC

支持科研技术

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值