标题:
[原创]
《批处理入门手册》一.1.2 批处理常用DOS命令篇
[打印本页]
作者:
januapr
时间:
2009-8-24 08:53
标题:
《批处理入门手册》一.1.2 批处理常用DOS命令篇
上一篇:
一.1.1批处理常用DOS命令篇
下一篇:
一.1.3 批处理常用DOS命令篇
《批处理入门手册》
一.
批处理常用
DOS
命令篇
----------------------------------------------------------------------------------------------------------------------
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目录没有设置“隐藏”属性
。
作者:
januapr
时间:
2009-8-24 08:54
六
,
删除命令:
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:\123\abc.txt
删除abc.txt
/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
目录
及其子目录下
所有只读属性的文件。
这里我们通过
/a
:
attributes
参数对指定属性的文件选择删除。
文件属性
attributes
,可选的有
r(
只读
)
、
s(
系统
)
、
h(
隐藏
)
、
a(
存档
)
。
[
本帖最后由 januapr 于 2009-8-24 09:10 编辑
]
作者:
januapr
时间:
2009-8-24 08:55
七
,
复制文件:
copy
copy
只能复制文件,不能复制文件夹。
1,单个
文件的复制
格式:
copy source[drive:][path][filename] [destination [drive:][path][filename]]
即copy 要复制的源文件(包括路径和文件名) 文件复制的目标路径[\文件名],当
[destination [drive:][path][filename]]
缺省时则为当前目录。
例
1,
copy c:\123.txt d:\
把123.txt复制到d:\目录下。如果此操作成功,命令行窗口中会提示“已复制 1个文件”。
例
2,
copy c:\123.txt d:\abc.bat
把123.txt复制到d:\目录下,并把它修改为abc.bat,这里修改了文件名和它的格式。
例3,
copy .\123
把当前目录下的123子目录中的文件全部拷到当前目录。这里好像有点难理解,呵呵,解释一下:比如当前目录是c:\windows,
它有很多子目录的,现在就把它的一个子目录123里面的文件全都拷到当前目录c:\windows,这样应该明白了
吧!~
2,
批量复制文件
例1,
copy c:\123 d:\abc
将c:\123 目录中所有文件复制到d:\abc目录中.
例2
,
copy c:\123\*.rm d:\abc /y
将c:\123 目录中所有rm格式的文件复制到d:\abc目录中,当目标目录中已经存在了和源目录中即将复制的文件相同文件名的文件时,
就会出现如“改写x:\xx吗?(Yes/No/All):”这样的提示,让你选择是覆盖、不覆盖还是全部覆盖时,通过参数/y(复制单个文件或批量复制时皆可使用),
可以实现重名文件无须确认直接覆盖。
3,
合并文件
格式:copy /b 文件1+文件2+……文件N 合并后的文件名
例1,
copy /b d:\1.mp3+d:\2.mp3 e:\3.mp3
把1.mp3和2.mp3合并成3.mp3。
例2,
copy /b d:\1.txt+d:\2.mp3
把1.txt和2.mp3合并,这里没有指定合成后的文件名哦,缺省情况下,合并后的文件名是命令中的第一个文件的名。
在这里,即把2.mp3合并进了1.txt。
★
在尾部隐藏了文本数据的图片文件,在使用其他软件进行编辑并保存后,隐藏的文本数据有可能会丢失。
★MP3
文件在使用此方法连接后,能实现连续播放。
★
合并图片/歌曲这样的二进制文件必须使用/b参数(b代表Binary,二进制),否则合并将会失败;另一个合并参数是/a(a代表ASCII,文本文件),只能用于纯文本的合并。两参数不能同时使用,二进制方式可以合并文本和二进制文件,而文本方式则只能合并文本。
[
本帖最后由 januapr 于 2009-8-27 09:04 编辑
]
作者:
januapr
时间:
2009-8-24 08:55
八
,
复制文件
(
夹
)
:
xcopy
复制文件和目录树。
XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
[/C] [/Q] [/F] [/L] [/G] [/H] [/R] [/T]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]
[/EXCLUDE:file1[+file2][+file3]...]
Source
必需的。指定要复制的文件的位置和名称。该参数必须包含驱动器或路径。
Destination
可省略。指定要复制的文件的目标。该参数可以包含驱动器盘符和冒号、目录名、文件名或者它们的组合。如果省略
Destination
,
xcopy
命令将文件复制到当前目录。
xcopy
可使用的参数太多了,这里只选几个常用的来讲一下。
/
S
复制非空的目录和子目录。如果省略
/s
,
xcopy
将在一个目录中工作。
例
1,
xcopy /s d:\123 e:\kkk\
复制
d:\123
目录下所有文件(夹)到
e:\kkk
,不包括空的子目录。
(
默认情况下,
xcopy
不复制隐藏或系统文件)
/E
复制所有子目录,包括空目录。同时使用
/e
、
/s
和
/t
命令行选项
。
例
2,
xcopy /e d:\123 e:\kkk\
复制
d:\123
目录下所有文件(夹)到
e:\kkk
,包括空的子目录。
(
默认情况下,
xcopy
不复制隐藏或系统文件)
/H
复制具有隐藏和系统文件属性的文件。默认情况下
xcopy
不复制隐藏或系统文件。
例
3,
xcopy /e /h d:\123 e:\kkk\
复制
d:\123
目录下所有文件(夹)到
e:\kkk
,包括空的子目录。加上了
/h
参数后,
xcopy
复制隐藏或系统的文件
/T
只复制子目录结构(即目录树),不复制文件。要复制空目录,必须包含
/e
选项。
/Y
禁止提示您确认要覆盖现存的目标文件。
当目标目录中已经存在了和源目录中即将复制的文件相同文件名的时候,就会出现“改写 X:\XXX
(Yes/No/All)?”这样的提示,让你选择是覆盖、不覆盖还是全部覆盖时,通过参数/y,可以实现重名文件无须确认直接覆盖。
★
注意指定 Destination 是文件还是目录。
如果 Destination 不包含现有目录且不以反斜杠 (\) 结尾,会出现下列消息:
Does destination specify a file name
or directory name on the target
(F = file, D = directory)?
系统将会询问你
目标 X:\XXX 是文件名还是目录名
(F =
文件,D = 目录)?
如果要将一个或多个文件复制到一个文件,请按 F。如果要将一个或多个文件复制到一个目录,请按 D。
思考:
比较一下
xcopy /e d:\123 e:\kkk\
和
xcopy /e d:\123 e:\kkk
两者之间有什么不同?
两者都是复制
d:\123
目录下所有文件(夹)到
e:\kkk
,包括空的子目录,但前者不会询问你
目标
e:\kkk
是文件名还是目录名
(F =
文件,D = 目录)?
Januapr
编辑整理于
2009-08-16
星期日
09:19
[
本帖最后由 januapr 于 2009-8-24 09:31 编辑
]
作者:
canyuexiaolang
时间:
2009-8-24 17:24
不错,支持下~呵呵
特别是ATTRIB
很少见的语法
学习了
作者:
jqf_oy
时间:
2009-8-26 21:49
顶起来.学到不少东东...谢 谢
作者:
auqe
时间:
2009-8-29 02:25
sadjgsa klfhsakj
作者:
yylautumn
时间:
2009-8-29 09:46
继续关注楼主的教程!
谢谢!
作者:
caimingbing
时间:
2009-12-10 17:39
继续收藏中,有时间细细看
作者:
fish509008
时间:
2013-12-9 11:08
感谢januapr提供如此详尽的命令介绍!
欢迎光临 批处理之家 (http://bbs.bathome.net/)
Powered by Discuz! 7.2