一. 批处理常用DOS命令
1.1 学习 echo rem cd dir 命令
学习要点:
1,显示信息:echo
2,注释语句:rem
3,目录切换:cd
4,列文件名:dir
一 显示信息: echo
在学习echo命令前我们先在C盘下建一个新文件夹bat,并建一个空的bat文件。
例如我是的mybat.bat。好了,下面我们开始《批处理入门手册》的第一章1.1节。
1。输出提示信息
格式:echo 你要输出的信息
我们来编辑mybat.bat,内容如下:
例1,
echo hello,world
echo i will come back
pause
执行显示:
C:\bat>echo hello,world王子文王朔
hello,world
C:\bat>echo i will come back
i will come back
C:\bat>pause
请按任意键继续. . .
我们写的批处理,能不能不让它显示我们到底写了什么命令?OK!那我们就来学习
echo的第二个命令!
2。关闭该命令的回显
格式:@ 放在命令前面
例2,
@echo hello,world
@echo i will come back
pause
朝闻道 夕死可矣的意思
执行显示:
hello,world
i will come back
C:\bat>pause
请按任意键继续. . .
如果有多条命令的话,要是每一条都加上一个@的话,那有多累呀!!能不能来个
全部的?好,我们来看下面的!
3。打开回显或关闭回显功能
格式:echo [{ on|off }]
解释一下,如果在批处命令前加上echo off,那么将会关闭批处中的命令回显。当
祖国七十周年祝福语然啦,你要是不想显示echo off 命令本身,你可以在echo off前加@。
例3,
@echo off
echo hello,world
echo i will come back
pause
执行显示:
hello,world
i will come back
请按任意键继续. . .
也就是说在批处理前加上@echo off ,它将使所有命令不再显示命令本身,当然也
包括了echo off 命令本身也不会回显了。
4。输出空行,即相当于输入一个回车
格式:echo.
注意的是命令行中的“.”要紧跟在ECHO后面中间不能有空格,否则“.”将被当作提
示信息输出到屏幕。另外“.”可以用,:;”/]+\ 这些任一符号替代。
例4,
@echo off
echo 我在写批处理教程哦!
echo.
echo 你看到上面有空一行么?
pause
执行显示:
我在写批处理教程哦!
你看到上面有空一行么?
请按任意键继续. . .
命令ECHO.输出的回车,经DOS管道转向可以作为其它命令的输入,比如
前时间后,自动返回到DOS提示符状态。
5。答复命令中的提问
格式:ECHO 回复|命令表达式
作用:通过管道命令 | 把“回复”作为输入传导给后面的“命令表达式”,并作为“命令表达式”的输入。
例5,
@echo off
rd /s c:\abc
pause
执行显示:
c:\abc, 是否确认(Y/N)?
解释一下,这里abc是一个不为空的文件夹,用rd 命令删除时它将会询问你Y或N,
这时你就要手
动的输入Y/N了。OK,我们把批处改一下
例6,
@echo off
echo Y|rd /s c:\abc
pause
这时系统将会自动帮助我们把Y输入确认了。
6。建立新文件或增加文件内容
格式:echo 文件内容>文件名
例7,
@echo off
echo 123&
pause
这样我们就在当前目录下建立了一个文件,文件的内容为123。 如果
你想要建立一个空的新文件,那你可以试一下这个
例8,
@echo off
echo. &
pause
注:上面所有实例中的pause是暂停命令,主要是用来暂停演示给大家看的,哈哈!!
二 注释语句: rem
rem 为注释命令,一般用来给程序加上注解,该命令后的内容不被执行,但能回显。
例1,
@echo off
echo 这是例1哦!
rem 上面的echo 语句用于显示提示。
pause
另外 :: 也可以起到 rem 的注释作用,而且更简洁有效;但有两点需要注意:
第一,
任何以冒号:开头的字符行,在批处理中都被视作标号,而直接忽略其后的所有内容。
有效标号:冒号后紧跟一个以字母数字开头的字符串,goto 语句可以识别。
无效标号:冒号后紧跟一个非字母数字的一个特殊符号,goto 无法识别的标号,
可以起到注释作用,所以 :: 常被用作注释符号,其实 :+ 也可起注释作用。
例2,
@echo off
echo 这是例2哦!
::上面的echo 语句用于显示提示。
pause
第二,
与 rem 不同的是, :: 后的字符行在执行时不会回显,无论是否用echo on 打开命
令行回显状态,因为命令解释器不认为他是一个有效的命令行,就此点来看, rem 在
某些场合下将比 :: 更为适用;另外, rem 可以用于config.sys文件中。
三 目录切换: cd
1,同一个分区的切换
目录切换格式:格式:CD [盘符][路径]
如果当前目录是C:\Documents and Settings\mzybar,我们要切换到同一分区下不
同的目录,请看下面的例子。(注:下面例子中的>表示命令行下的提示符,>前面
的表示当前目录。)
例1,
食疗便秘切换到C:\WINDOWS目录
C:\Documents and Settings\mzybar>
cd C:\WINDOWS
C:\WINDOWS>
例2,
切换到C:\WINDOWS\system32目录
C:\Documents and Settings\mzybar>
cd C:\WINDOWS\system32
C:\WINDOWS\system32>
如果当前目录是C:\WINDOWS\system3,我们要返回到上一层目录,即返回到C:
\WINDOWS时,我们可以这样:
例3,
C:\WINDOWS\system32>
cd..
C:\WINDOWS>
在这里,cd..是不是简单了很多?呵呵!当然了,你也可以cd C:\WINDOWS
如果当前目录是C:\WINDOWS\system3,我们要返回根目录,即返回到C:\时,你可
以试下这个:
例4,
C:\WINDOWS\system32>
cd\
C:\ >
在这里返回根目录时,我们用的是cd\命令,当然你也是可以cd c:\
其实在DOS命令中.、..和\都是表示相对路径的,.是当前目录,..是上一层目录,
而\则表示根目录。
我们
来试下cd.
例5,
C:\WINDOWS\system32>
奚梦瑶疑似怀孕cd.
C:\WINDOWS\system32>
看到了吧,输入cd.后还是在原来的位置,因为 。是当前目录,切换到当前目录当
然没有变罗。
2,不同分区的切换
格式:格式:CD /d [盘符][路径]
如果当前目录是C:\Documents and Settings\mzybar,我们需要切换到其它分区目
录,请看:
例6,
切换到D:\123\abc
C:\Documents and Settings\mzybar>
cd /d d:\123\abc
D:\123\abc>
如果我们要切换到D盘的根目录,则有更简单的方法,请看:
例7,
C:\Documents and Settings\mzybar>
D:
D:\>
在这里,我们直接输入驱动器号+冒号,就可以切换到它的根目录。
CD 的另一个用途:显示当前的完整路径,一般用通过 %cd% 加以引用。
例8,
@echo off
echo 当前路径是 %cd%
pause
执行显示的是当前的完整路径。
四 列文件名: dir
显示目录中的文件和子目录列表。
DIR [drive:][path][filename] [/A[[:]attributes]] [/C] [/D] [/L] [/N]
[/O[[:]sortorder]] [/P] [/Q] [/S] [/T[[:]timefield]] [/W] [/X] [/4]
[drive:][path][filename]  指定要列出的驱动器、目录和/或文件。
/A 显示具有指定属性的文件。
attributes
D 目录
R 只读文件
H 隐藏文件
A 准备存档的文件
S 系统文件
- 表示“否”的前缀
/B 使用空格式(没有标题信息或摘要)。
/
C 在文件大小中显示千位数分隔符。这是默认值。用 /-C 来停用分隔符显示。
/D 跟宽式相同,但文件是按栏分类列出的。
/L 用小写。
/N 新的长列表格式,其中文件名在最右边。
/O 用分类顺序列出文件。
sortorder
N 按名称(字母顺序)
S 按大小(从小到大)
E 按扩展名(字母顺序)
D 按日期/时间(从先到后)
G 组目录优先
-
颠倒顺序的前缀
/P 在每个信息屏幕后暂停。
/Q 显示文件所有者。
/S 显示指定目录和所有子目录中的文件。
/T 控制显示或用来分类的时间字符域。
timefield
C 创建时间
A 上次访问时间
W 上次写入的时间
/W 用宽列表格式。
/X 显示为非 8dot3 文件名产生的短名称。格式是 /N 的格式,短名称插在长名称
前面。如果没有短名称,在其位置则显示空白。
/4 用四位数字显示年
关于dir命令比较多,看到上面一大堆的参数头都晕了,呵呵~ 在这里我们学习一
些常用的就OK了~
1,列出c:\windows下的目录及文件
格式:DIR [drive:][path][filename]
例1,
dir c:\windows
这种方法有明显的缺点——当列表中的目录及文件过多时就无法完全显示,我们将通
过/p参数解决这个问题。
/P 在每个信息屏幕后暂停。
例2,
dir /p c:\windows
我们在命令最后加上一个参数“/p”(即“page”页的缩写),列文件时就会使用分页显
示方式,即列出一屏的目录及文件后,提示“按任意
键继续...”,按任意键后则显
示下一屏。这样就可以逐屏查看了!
/B 使用空格式(没有标题信息或摘要)。
例3,
dir /b c:\
我们在查看时,发现列出来的文件都带有日期,时间,创建者等信息,我们可以在
命令后加上/b参数,让它只列出文件名称。
2,列出c:\下指定属性的文件
格式:DIR /a: attributes (这里的:号可以省略)
attributes
D 目录
R 只读文件
H 隐藏文件
A 准备存档的文件
S 系统文件
- 表示“否”的前缀
例1,
dir /a c:\
列出C:\下所有的文件。
例2,
dir /ah c:\
列出隐含的文件(包含文件和文件夹)。
例3,
dir /ad c:\
列出C:\下所有的文件夹。
例4,
dir /ad-h c:\
列出C:\下所有的文件夹,但不包含隐含的文件夹。
3,按分类列出c:\下的文件
格式:DIR /o: sortorder (这里的:号可以省略)
sortorder
N 按名称(字母顺序)
S 按大小(从小到大)
E 按扩展名(字母顺序)
D 按日期/时间(从先到后)
G 组目录优先
- 颠倒顺序的前缀
例1,
dir /on c:\
/o:排序方式 参数指定了dir命令显示命令结果时的排序方式,排序方式设为“n”即
代表按照文件名的字母顺序排列(从A~Z,以此类推)。
例2,dir /ogn c:\
优先列出文件夹,并且文件夹和文件都按字母顺序排列。
“/o”和“/a”都可以省略其后的冒号“:”,但之间不能留有空格。如“/o:n”省略
后的
形式应为“/on”。
代码:
|@echo off
echo Y|rd /s c:\abc
pause|
复制内容到剪贴板
代码:|
管道命令|的输入方法,shift键+ \|
解决了我的2个难题,1是管道命令是什么意思,2是怎么打出管道命令
代码:
|例1,
切换到C:\WINDOWS目录
C:\Documents and Settings\mzybar>
cd C:\WINDOWS
C:\WINDOWS>
例2,
切换到C:\WINDOWS\system32目录
C:\Documents and Settings\mzybar>
cd C:\WINDOWS\system32
C:\WINDOWS\system32>
如果当前目录是C:\WINDOWS\system3,我们要返回到上一层目录,即返回到C:
\WINDOWS时,我们可以这样:
例3,
C:\WINDOWS\system32>
cd..
C:\WINDOWS>|
提示命令语法不正确
Why?
请问一下在CD命令中,是例几提示命令语法不正确呢?
上面的例1,例2中多了一行空行是编辑时没有注意到的,现在编辑改正了。
例3中cd..  后面是英文状态下的两个点。
1.2 学习 attrib del copy xcopy 命令
学习要点:
5,设置文件属性:attrib
6,删除命令:del
7,复制文件:copy
8,复制文件(夹):xcopy
五 设置文件属性: attrib
显示或更改文件属性。
ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[drive:] [path]
filename] [/S [/D]]
+  设置属性。
-  清除属性。
R  只读文件属性。
A  存档文件属性。
S  系统文件属性。
H  隐藏文件属性。
[drive:][path][filename]
指定要处理的文
件属性。
/
S 处理当前文件夹及其子文件夹中的匹配文件。
/D 也处理文件夹。
1,查看文件的文件属性
格式:ATTRIB [drive:][path][filename]
例1,
attrib d:\ pagefile.sys
查看d:\ pagefile.sys文件的属性。
2,修改文件的属性。
格式:attrib ±属性
例1,
attrib –h d:\ pagefile.sys
消除d:\ pagefile.sys的“隐藏”属性。
例2,attrib +s +h d:\ pagefile.sys
给d:\ pagefile.sys设置“系统”和“隐藏”属性。
3, 批量文件处理
例1,
attrib +h d:\123\*.bat /s
通过/s参数可批量将d:\123及其子目录下的所有bat文件设置为“隐藏”属性.
例2,
attrib +h d:\123 /s /d
将d:\123及其下所有同名为123的子目录设置为“隐藏”属性.参数/d必须在批量设置
文件属性的同时,对指定目录及其下所有子目录进行文件属性操作。参数/d可以理
解为“directory”(目录),也就是说/d 必需和/s一起使用。
思考:
“attrib +h d:\123 /s /d”和“attrib +h d:\123\*.* /s /d”有什么区别呢?
前者只有d:\123以及它同名的子目录设为了“隐藏”,而其它文件及子目录都没有设
置“隐藏”。
后者则将d:\123下的所有文件及子目录设置了“隐藏”属性,但d:\123目录没有设置
“隐藏”属性。
六 删除命令: del
删除一个或数个文件。
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
names    指定一个或数个文件或目录列表。通配符可被用来删除多个文件。
如果指定了一个目录,目录中的所有文件都会被删除。
/P  删除每一个文件之前提示确认。
/F 强制删除只读文件。
/S 从所有子目录删除指定文件。
/Q 安静模式。删除全局通配符时,不要求确认。
/A 根据属性选择要删除的文件。
attributes
R 只读文件
S 系统文件
H 隐藏文件
A 存档文件
- 表示“否”的前缀
基本格式:DEL [drive:][path][filename]
例1,
del d:\删除
/P 删除每一个文件之前提示确认。
例2,
del /p d:\123\*.*
删除d:\123目录下所有文件,如果你想让它在删除前都询问你是否删除,我们可以
加上/p参数,防止误删除。
/S 从所有子目录删除指定文件。__
例3,
del /s d:\123\*.*
删除d:\123目录及其子目录下所有文件。通过使用/s参数后,del命令就会在指定
目录(如未指定则在当前目录)及其子目录中搜索所有指定文件名的文件并删除。
/Q 安静模式。删除全局通配符时,不要求确认。
例4,
del /s /q d:\123\*.*
删除d:\123目录及其子目录下所有文件。通过/q参数则无需确认直接删除,在使用
此参数时要小心!!
/A 根据属性选择要删除的文件。
例5,
del /ar /s d:\123\*.*
删除d:\123目录及其子目录下所有只读属性