【转】Windows批处理学习(⼀)——MS-DOS命令
前记
⾃⼰是搞编程的,⾸先我是⼀个菜鸟,接触计算机这么久了,感觉很多计算机⽅⾯的技术和知识朦朦胧胧、模模糊糊,貌似有些贻笑⼤⽅了;所以最近腾出了点时间来了解计算机的基础知识,准备整理整理这些知识,我想也为时不晚。
说来整理,其实并⾮⼀件易事,各⼈的视野都是有限的,当然“百事通”我是做不来的,还是实实在在的拿出来分享分享,贻笑贻笑⼤⽅,让⼤家拍拍板砖也未尝不可。
为什么要学习批处理?
⾸先,我是⼀个后⽣,⾃从接触计算机开始就⼀直使⽤的Windows操作系统,⽽且还是较为古⽼的XP系统(相对Win7、Win8⽽⾔),可能是⽤的得⼼应⼿的,到现在还没准备换。
为什么要从批处理开始讲起?⾸先内⼼是有⼀点的崇拜“⿊客”,那NB的技术真让⼈羡慕,当然我不会⽴志去成为⼀名“⿊客”,因为这个职业是会被和谐的。那到底是为什么呢?因为当Windows还在娘胎的时候,DOS(全称为Disk Operating System,被称为磁盘操作系统)是计算机操作系统的霸主,⽽批处理就是汇集DOS的寄住。
计算机本⾝是的,只能识别0和1两个数字(0和1这两个数字被我们尊称为⼆进制数码),但是⼈类的智慧是⽆限的,通过对计算机⼤脑(CPU)的改造,可以让它⽀持整个宇宙的所有信息。回归正题,我们在计算机上查看的任何⽂件都是以0和1组成的⼆进制码存储在计算机中的,具体怎么存储的我也是后⽣,所以我也不懂。最早出现的磁盘操作系统(DOS)就是实现对计算机硬盘上的⽂件的操作和管理。说了这么多其实只想说明⼀点就是我很想知道DOS和批处理到底是怎么对计算机硬盘上的⽂件进⾏操作的?
DOS和MS-DOS
上⾯说了很多废话,下⾯直接⼊题。
DOS(Disk Operating System),磁盘操作系统,我想对计算机有点了解的⼈应该都不会陌⽣这个词,但是具体它是⼲什么的呢?DOS是计算机上的⼀种基于磁盘管理的操作系统,可以直接操作和管理磁盘上的⽂件,在计算机出⼚是基本都会⾃带⼀个DOS磁盘操作系统。
DOS发展到现在已经存在很多版本,以MS-DOS、PC-DOS和FreeDOS最为常见。
MS-DOS(Microsoft-Disk Operating System),是微软的磁盘操作系统,是DOS的⼀个分⽀。MS-DOS的来历可以查阅⼀下资料,最早的DOS称为86-DOS,最后由微软创始⼈⽐尔?盖茨以5美元(来
⾃《硅⾕传奇》电影,有时间可以看⼀看,讲述了乔帮主和盖茨⼤叔的⽩⼿起家之路)收购版权并更名为MS-DOS。
初期的Windows操作系统实质是基于DOS系统的⼀种图形应⽤程序,直到Windows2000后,才脱离DOS本质开始了⾃⼰的视窗操作系统。虽然脱离了DOS,直到
Win7,Windows操作系统中⼀直保留了MS-DOS系统应⽤,可能是它曾经是霸主的原因。现在MS-DOS的最新版本是6.x,微软已经宣布停⽌对MS-DOS系统的更新,当然我们了解⼀下还是⾮常有必要的。像我这种不求新的⼈还在⽤着XP系统,情何以堪啊!所以我下⾯讲到的都是基于Windows XP系统的,当然⼤部分Windows 7⼀样可⽤。MS-DOS常见命令
1.系统环境变量
Windows中的磁盘操作系统称为MS-DOS,DOS在Windows中表现为⼀个⿊底⽩字的窗⼝,我们亲切的称之为命令⾏。对Windows熟悉的⼈肯定都知道在“开始”菜单中有⼀个“运⾏”窗⼝,我们可以在其中输出程序的名称,然后就可以直接打开对应的程序了。所以我们可以在“运⾏”窗⼝中的“打开”⽂本框中输⼊“cmd”即可以打开期待已久的命令⾏窗⼝。“cmd”其实是“command”(命令)的单词缩写。
为什么我们在“运⾏”窗⼝输⼊“cmd”就会打开命令⾏窗⼝呢?因为Windows系统引⼊了⼀个称为“环境变
量”的概念,分为“系统环境变量”和“⽤户环境变量”两种类型。具体的可以通过“我的电脑”—>右键—>“属性”—>“⾼级”—>“环境变量”来查看,同样可以在运⾏窗⼝中输⼊“sysdm.cpl”来打开“我的电脑”—>“属性”选项。可以看到在“系统环境变量”中有⼀个变量名为“Path”的变量,值中有⼀段为“%SystemRoot%\system32;”,实际这段内容⾮常重要,以为在  Windows XP系统安装完成后⾃动配置的,实际它表⽰的是“C:\WINDOWS\system32”这个⽬录。可以查看⼀下这个⽬录,其实⽬录中存在⼀个“”可执⾏⽂件;同理,“sysdm.cpl”同样存在该⽬录中。为什么“cmd”不需
要“.exe”扩展名,⽽“sysdm.cpl”需要扩展名呢?因为“系统环境变量”中还存在⼀个名为“PATHEXT”的变量,值中有⼀段为“.EXE;”所以到我们输⼊“cmd”名称后会⾃动追
加“.exe”最为后缀并“C:\WINDOWS\system32”中查看是否存在“”⽂件,存在则打开。实际当我⾯在命令⾏或者“运⾏”窗⼝中输⼊任何⼀个名称后,Windows系统会⾃动的从“Path”指定的所有⽬录中进⾏查,如果查到则就打开,否则就会⾃动加上“PATHEXT”中的任意⼀个值(顺序依次循环追加扩展名并查)再次进⾏查,如果查到就打开,否则提⽰错误。
环境变量的知识,我就提到这⾥,其实有很多内置的系统环境变量,这些变量的作⽤,你可以不⽤吝啬⽹络资源,⾃⼰去查⼀番(“百度”不⾏去“⾕歌”),相信⽐我讲的透彻。
2.命令的使⽤
当在“运⾏”窗⼝中输⼊“cmd”之后键⼊“回车键”,即可启动命令⾏窗⼝,可以看到它很是淳朴,单纯的⿊底⽩字,如图:
虽然它很朴素,但是功能是不可⼩觑的。我们可以看到⼀个⼀个⼀闪⼀闪的⽩⾊下划线,其实它就是我们称之为的“光标”。
下⾯我们在命令⾏窗⼝中输⼊“help”,然后键⼊回车,可以看出得到了⼀个命令说明列表,列出了所有的MS-DOS命令⾏以及命令⾏⼯具命令,列表如下:
命令名称对应程序(WINDOWS\system32\)说明
assoc显⽰或修改⽂件扩展名关联
显⽰或修改计划在计算机上运⾏的命令和程序
显⽰或更改⽂件属性
break设置或清除扩展式CTRL+C检查,XP中⽆效
显⽰或修改⽂件的访问控制列表(ACLs)
call从另⼀个批处理程序调⽤这⼀个,可实现跨⽂件调⽤
call从另⼀个批处理程序调⽤这⼀个,可实现跨⽂件调⽤cd 或 chdir显⽰当前⽬录的名称或将其更改
chcp chcp显⽰或设置活动代码页编号
检查磁盘并显⽰状态报告
显⽰或修改启动时的磁盘检查操作
cls清除屏幕内容
打开另⼀个Windows命令解释程序窗⼝
color设置默认控制台前景和背景颜⾊
command command 打开另⼀个Windows命令解释程序窗⼝,实质是prompt的⼀种形式,所有路径都为短路径⽅式
⽐较两个或两套⽂件的内容
显⽰或更改NTFS分区上⽂件的压缩
将FAT格式的卷转换成NTFS格式。并且不能转换当前使⽤的驱动器copy将⾄少⼀个⽂件复制到另⼀个位置
date显⽰或设置⽇期
del 或 erase删除⾄少⼀个⽂件
dir显⽰⼀个⽬录中的⽂件和⼦⽬录
⽐较两个软盘的内容
将⼀个软盘的内容复制到另⼀个软盘
编辑命令⾏、调⽤Windows命令并创建宏
echo显⽰消息,控制回显的状态(打开或关闭)
endlocal结束批⽂件中环境更改的本地化,即停⽤延迟环境变量扩展功能exit退出程序(命令翻译程序)或当前批处理脚本
⽐较两个或两套⽂件,并显⽰不同处
在⽂件内容中搜索⽂字字符串
在⽂件内容中搜索字符串
for为⼀系列⽂件(⼀个集合)中的每个⽂件运⾏⼀个指定的命令format format格式化磁盘
ftype显⽰或修改⽤于⽂件扩展名关联的⽂件类型
goto将Windows命令解释程序指向批处理程序中某个标明的⾏graftabl graftabl启⽤Windows来以图像模式显⽰扩展字符集
启⽤Windows来以图像模式显⽰扩展字符集
if提供Windows命令的帮助信息
创建、更改或删除磁盘的卷标
md 或 mkdir创建⽬录(⽂件夹)
mode mode配置系统设备
more more将结果进⾏分屏显⽰,⼀次显⽰⼀个屏幕内容
move将⽂件从⼀个⽬录移到另⼀个⽬录
path显⽰或设置可执⾏⽂件的搜索路径
pause暂停批⽂件的处理并显⽰消息
popd还原pushd保存的当前⽬录的上⼀个值
打印⽂本⽂件
prompt更改Windows命令提⽰符
pushd保存当前⽬录,然后对其进⾏更改
rd 或 rmdir删除⽬录
rd 或 rmdir删除⽬录
recover从有问题的磁盘恢复可读信息
rem记录批⽂件或CONFIG.SYS中的注释,注释标识符
ren 或 rename重命名⽂件
替换⽂件
set显⽰、设置或删除批处理可执⾏程序环境变量
setlocal开始批⽂件中环境更改的本地化,即启⽤延迟环境变量扩展功能
shift更换批⽂件中可替换参数的位置
对输⼊进⾏分类
start启动另⼀个窗⼝来运⾏指定的程序或命令
将路径跟⼀个驱动器号关联
time显⽰或设置系统时间
title设置会话的窗⼝标题
tree tree以图形模式显⽰驱动器或路径的⽬录结构
type显⽰⽂本⽂件的内容
ver显⽰Windows版本
verify告诉Windows是否验证⽂件是否已正确写⼊磁盘
vol显⽰磁盘卷标和序列号
复制⽂件和⽬录树
从列表中可以看成,有些命令是有对应的应⽤程序的,⽽且这些应⽤程序都是存在于“WINDOWS\system32”⽬录中,所以这些命令我们称之为“外部命令”;⽽对应那些没有对应应⽤程序的命令都是MS-DOS内部保留的命令,称为“内容命令”。
了解编程的⼈都知道,单纯的⼀个命令符只能做⼀件唯⼀的事情,所有MS-DOS对每⼀个命令都进⾏了扩展,这种扩展称为“命令选项”,⼤部分的命令选项都是可选的,使⽤“命令+选项”的⽅式可以实现多种复杂的不同的操作(值得注意的是命令选项和命令之间通常使⽤空格分割)。这⾥介绍⼀个绝⼤多少命令都保留的⼀个默认命令选
项“/?”,这个选项⽤于查看命令的使⽤说明⽂档信息。例如:我们在命令⾏中输⼊“cmd /?”就可以看到“CMD”命令的使⽤说明信息以及其所有选项描述信息。
3.命令的特点
从上⾯的⼏个简单的例⼦,其实可以看成MS-DOS命令的⼏个特点,下⾯来总结⼀下:
MS-DOS是磁盘操作系统,⽬的⽤于管理和操作磁盘上的⽂件。因此它是基于⽬录的⽂件管理程序,也就是在操作之前必须要指定操作的⽬录。
命令⾏中命令、命令选项以及命令参数是不区分⼤⼩写的。这是Windows系统的共性,Windows中的⽬录和⽂件名都是不区分⼤⼩写的。也就是说MS-DOS中的⼤多数情况下是不区分⼤⼩写的,在某些特定情况下是需要区分的,这个以后你⾃会慢慢体会的。
命令⾏的结束符号是换⾏符(包括Enter键等),有的时候空⽩符(包括Tab键、Space键等)也可以作为结束符。也即是说⼀个换⾏符表⽰⼀条命令语句。
命令和选项以及参数之间的分隔符是空⽩符(包括Tab键、Space键等),某些特定情况下空⽩符可以省略。
MS-DOS是单任务系统,只有执⾏完⼀项操作后才能执⾏下⼀项操作。当我们执⾏完某⼀项操作后会回到系统起始状态。
命令⾏的执⾏快捷键是“Enter键”,强制终⽌的快捷键是“CTRL+C”键。
4.MS-DOS常⽤命令介绍
上⾯已经提到可以使⽤“命令 /?”的⽅式来查看任意⼀种命令的使⽤说明信息以及所有选项描述信息,通过这种⽅式我们可以学习以上列表中的任意⼀种命令的使⽤⽅式。只要肯尝试就没有不懂的。下⾯只介绍⼏种常⽤的命令使⽤⽅式。
4.1.盘符切换
盘符,官⽅应该称为卷标,就是我们说的“C盘”、“D盘”中的字母“C”和“D”,⼀般情况下盘符都是以26个英⽂字母⼤写⽅式加上冒号的⽅式呈现的,例如C:表⽰C盘,D:表⽰D盘,⽤于标记某⼀个磁盘分区。通常情况下我们的Windows系统都是安装在C盘的,因此启动命令⾏默认的操作⽬录是“C:\Documents and Settings\当前⽤户”。那么问题就来了,我们如何切换到其他的磁盘分区下进⾏操作呢?MS-DOS中提供了⼀种⾮常简单的操作⽅式,就是直接输⼊盘符,即:
卷标名称:
可以直接输⼊“盘符:”即可切换到该盘的根⽬录中,当卷标⽆法到则会提⽰错误并返回到上⼀次操作的⽬录位置。
注意:这种⽅式不能从当前盘符中的⽬录切换到当前盘的根⽬录,只能切换到其他盘的根⽬录。
4.2.⽬录(⽂件夹)管理
CD/CHDIR——⽬录切换和显⽰
“CD”或“CHDIR”是短语“change directory”的缩写,意思是改变⽬录。主要⽤于改变当前⽬录或显⽰当前⽬录完全路径名。⽤法如下:
CD|CHDIR [/D] [⽬标⽬录]
“[]”表⽰可选,相信只要学过编程应该都知道。实质该命令有两种⽤法,⼀种是显⽰当前⼯作所基于的⽬录完全路径名;还⼀种就是改变⼯作⽬录到另⼀个地⽅。
讲到路径,这⾥可以⼤胆的扩展⼀下,所谓“路径”通过计算机中资源的⼀种定位标识途径,主要⽬的就是⽤于资源的唯⼀性定位。在通常情况下“路径”分为“绝对路径”和“相
对路径”两种形式:
绝对路径——从命名上可知它的位置是固定的,它是通过⼀种磁盘⽂件标识符来进⾏定位的,描述的是“某个磁盘下的某个位置”的意思,通常包含盘符。
相对路径——从命名上可知它的位置是相对的,必须存在参照物,然后才能表⽰相对这个参照物⽽⾔资源的位置,描述的是“相对当前位置的某个位置”的意思,通常不包含盘符,但是包含“..”、“.”、“\”等操作符,“..”表⽰上⼀级⽬录,“.”表⽰当前⽬录,“\”表⽰当前盘符的根⽬录。
Windows系统中使⽤“\”作为⽬录级别分割符号(当然也可以使⽤“/”,但是Windows不推荐使⽤“/”);使⽤“..”可以表⽰上⼀级⽬录,使⽤“.”可以表⽰当前⽬录,使⽤“\”表⽰当前盘符的根⽬录。在MS-DOS中⼤多数使⽤的都是绝对路径,但是使⽤相对路径更加灵活多变。接下来我们再来讲“CD”命令的⽤法。
上⾯我们遇到了⼀个问题,就是如何从当前盘符的某⼀个⽬录切换到当前盘符的根⽬录,直接使⽤盘符切换显然是不⾏的。所以这⾥我们可以使⽤“CD \”的⽅式切换到当前盘符的根⽬录;同时我们可以使⽤“CD ..”切换⽬录到当前⽬录的上⼀级⽬录。其实就是⽬标路径是多变的,⽬标路径可以是相对路径,同样可以是绝对路径;默认情况下当⽬标路径为绝对路径的时候不能跨磁盘分区进⾏切换,所以“CD”命令提供了“/D”选项⽤来解决这个问题,例如我们在默认的MS-DOS路径下输⼊“CD /D D:\test”可以直接进⼊D:\test⽬录,当缺少“/D”选项时就不可以了,所以“CD /D”⽅式也可以替代盘符切换⽅式进⾏盘符的切换。
MD/MKDIR——⽬录创建
“MD”或“MKDIR”是短语“make directory”的缩写,意思是构建⽬录,主要⽤于创建新的指定⽬标⽬录路径名称的⽬录。⽤法如下:
MD|MKDIR ⽬标⽬录路径
该命令⽤于创建⽬录,其必须指定要创建⽬录的完全路径名。该命令可以跨磁盘分区进⾏⽬录创建,同时还可以创建⼀个⽬录树结构,即同时创建多个不存在的嵌套⽬录结构或⽬录组。
⽬标⽬录路径可以使⽤绝对路径,也可以使⽤相对路径,需要注意的时,⽬录不能与存在的⽬录名相同,否则会提⽰错误。注意:当创建的⽬录名称中存在空⽩符时需要使⽤英⽂状态下的引号("")将⽬录名称引起来;否则将创建⽬录组,每⼀个⽬录名以空⽩符分割开。
RD/RMDIR——删除⽬录
“RD”或“RMDIR”是短语“remove directory”的缩写,意思是移除⽬录。主要⽤于删除指定的⽬录结构。⽤法如下:
RD|RMDIR [/Q] [/S] ⽬标⽬录路径
该命令主要⽤于空的⽬录,可以跨磁盘分区进⾏操作,同时还可以使⽤增强选项删除⾮空的⽬录结构。只需要指定⽬标⽬录路径即可,该路径可以是绝对路径也可以是相对路径。
默认情况下,“RD”命令只能删除空的⽬录,也就是⽬录中不能存在其他⽬录或⽂件,否则会提⽰错误,正出于这个原因,所以“RD”命令提供了“/S”选项,⽤于强制删除⾮空⽬录,当使⽤“/S”进⾏⾮空⽬录的强制删除时会提是确认删除信息,当然可以使⽤“/Q”选项强制取消提⽰信息。
使⽤“RD”进⾏⽬录的删除⼀般不推荐使⽤,因为就我⽬前所知,使⽤DOS删除的⽂件或⽬录不会保留在“回收站”中,所以不要轻易的删除重要⽂件,否则删除后就不会那么轻易的回来了。
DIR——⽬录内容展⽰
“DIR”是短语“directory”的缩写,表⽰⽬录。主要⽤于⽬录内容查看和展⽰。⽤法如下:
DIR [⽬标⽬录路径] [选项]
该命令主要⽤于⽬录结构信息的查看,可以查看⽬录中的⼦⽬录和⽂件属性信息。不指定“⽬标⽬录路径”的“DIR”命令⽤于展⽰当前⽬录结构,当指定“⽬标⽬录”时则展⽰⽬标⽬录的⽬录结构,格式为⽇期、时间、类型、⼤⼩、名称。该⽬录⽀持跨磁盘分区操作。
“DIR”提供的磁盘选项⽐较丰富,可以通过“dir /?”或“help dir”来查看所有的选项以及其说明信息。这⾥提⼀下,“/L”选项可以将⼦⽬录或⽂件名称转换为⼩写格式;“/S”选项可以展⽰每⼀个⼦⽬录的⽬录结构;“/X”可以将展⽰的结果强制转换为短名称的模式。
TREE——⽬录树展⽰
“TREE”命令和“DIR”命令⽤法差不多,同样⽤于展⽰指定⽬录的内容结构,它的特点是使⽤⼀个“树形”结构展⽰⽬录所有⼦⽬录和⽂件以及⼦⽬录中的所有⼦⽬录和⽂件;⽽“DIR”则是以列表的⽅式展⽰⽬录结构。⽤法如下:
TREE [⽬标⽬录路径] [/F] [/A]
该命令主要是以“树形”结构的⽅式展⽰⽬录结构。不指定“⽬标⽬录路径”的“TREE”命令⽤于展⽰当前⽬录结构,当指定“⽬录⽬录”时则展⽰⽬标⽬录的⽬录结构。该命令不⽀持跨磁盘分区操作。
该命令包括两个选项,其中“/F”选项⽤于展⽰出所有的⽂件信息,默认只是展⽰⽬录结构,不包括⽂件列表;“/A”⽤于标识强制使⽤ASCII字符进⾏结构图案的构建。4.3.⽂件管理
批处理文件注释TYPE——⽂件内容查看
“TYPE”命令并不是表⽰⽂件类型,⽽是⽤于查看⽂件内容的命令。这⾥需要注意的是“TYPE”命令可以查看所有⽂件的内容并将其打印在命令⾏窗⼝,但是⼤多数的⽂件都是经过编译以及其他⽅式处理过的,所以这些⽂件的内容则算⼀系列乱码,因此是⽆意义的查看,所以我们通常使⽤“TYPE”命令查看⽂本⽂件的内容,使⽤⽅式如下:TYPE ⽬标⽂件路径 [|MORE]
该命令主要⽤于⽂本内容的信息查看,所以“⽬标⽂件路径”必须指定,路径既可以是相对路径,也可以是绝对路径,同时该命令⽀持跨磁盘分区操作。
使⽤“TYPE”命令只能查看⼀个特定的⽂件内容,如果⽂件内容过多,则可以使⽤“|more”选项来实现分页显⽰的效果。其实“MORE”是⼀个命令,“|”是⼀个特殊的符号。
COPY——⽂件复制/⽂件合并
“COPY”命令主要⽤于⽂件的复制,可以将⼀个或多个⽂件复制到另⼀个位置,使⽤⽅式如下:
COPY [选项] 源⽂件路径 [/A或/B] [+...] [⽬标⽂件路径 [/A或/B]]
该命令主要⽤于实现⽂件副本的创建,⽀持跨磁盘分区操作。
这⾥我们来看看“/A”和“/B”的区别,它们是紧跟在⽂件后的选项,其中“/A”⽤于表明⽂件为ASCII⽂本⽂件;⽽“/B”⽤于表明⽂件为⼆进制⽂本⽂件;但⼤多数我们不实⽤则两个选项进⾏表明。
“COPY”命令的选项⽐较丰富,可以通过“copy/?”或“help copy”来查看所有的选项以及其说明信息。默认情况下,可以直接指定“⽬标路径”为⼀个⽬录,⽽且这个⽬录必须
存在,否则会提⽰错误(可以使⽤“/D”强制创建⽬标⽬录),则命令会将源⽂件复制到⽬标⽬录中,这个过程叫做“同名拷贝”;当然也可以指定“⽬标路径”为⼀个⽂件,这种⽅式是将源⽂件内容读取并写⼊到⽬标⽂件中,这个过程叫做“异名拷贝”。
下⾯来看看如何实现⽂件的合并,实质这个过程叫做“合并拷贝”。当⽬标路径为⼀个⽬录时,可以使⽤“+”来连接多个源⽂件,则命令会将多个⽂件的内容进⾏合并后写⼊到⽬标⽂件中(⽬标⽂件名为最后⼀个读取的⽂件名),例如“copy C:\+2.txt D:\test”这个命令则会将1.txt和2.txt的内容进⾏合并后在D:\test⽬录中构建⼀个名为2.txt的⽂件;当⽬标路径为⼀个⽂件时,则会将多个⽂件的内容合并后并写⼊到⽬标⽂件中。
XCOPY——⽂件或⽬录树复制
“XCOPY”命令主要⽤于⽬录树的复制操作,同时⽀持对⽂件的复制操作,可以将⼀个或多个⽂件或⽬录复制到另⼀个指定的位置。⽤法如下:
XCOPY 源路径 [⽬标路径] [选项]
该命令主要⽤于⽬录树结构的复制操作,其次可以扩展为⽂件的复制操作,其中“源路径”必须要指定,如果没有指定“⽬标路径”则默认⽬标路径为当前⼯作⽬录。⽀持跨磁盘操作。
“XCOPY”命令的选项⽐较丰富,可以通过“xcopy/?”或“help xcopy”来查看所有的选项以及其说明信息。默认情况下,如果不实⽤任何选项,则在完成复制之前会提⽰选
择“⽬标路径的类型,F表⽰⽂件,D表⽰⽬录”;如果选择⽬录,则会将源路径⽬录和⽬录下的⾮系统、⾮隐藏⽂件复制到指定的⽬录路径下;如果选择的是⽂件,则会将⽬录下的每⼀个⽂件内容依次复制到⽬标路径中,后者会覆盖前者,⽽且在复制每⼀个⽂件时都会提⽰是否重写⽬标路径⽂件。当然可以使⽤“/I”选项将⽬标路径强制作为⽬录进⾏处理从⽽取消⽬标路径类型的确定提⽰。
默认情况下“XCOPY”命令只能复制⼀层⽬录和其⽂件,同时提供“/S”选项则可以将⾮空的⽬录和其下的⾮系统、⾮隐藏⽂件(包括⼦⽬录层)复制到指定的⽬标路径中;使⽤“/E”选项可以将所有的⽬录和⾮系统、⾮隐藏⽂件复制到⽬标路径中;使⽤“/T”选项则可以值对⾮空的⽬录和⼦⽬录结构进⾏复制(不包含⽂件的复制);使⽤“/H”选项则可以强制将系统⽂件和隐藏⽂件复制到⽬标路径中;当然它们也可以进⾏组合使⽤,达到不同的效果。
“/F”选项可以输出完整的元⽼级和⽬标路径中的复制映射关系;使⽤“/L”选项可以输出源路径中需要复制的⽂件列表等。
DEL/ERASE——删除⽂件
“DEL”是短语“delete”的缩写,意思是删除;还⼀种删除⽂件的命令是“ERASE”,意思是擦除,⼆者使⽤⽅式⼀样。在这⾥主要指删除⽂件,该命令可以删除⼀个或多个⽂件,是直接从磁盘上擦除⽂件的数据,所以删除的⽂件并不会出现在“回收站”中,因此要谨慎使⽤。⽤法如下:
MOVE [/Y或/-Y] 源路径⽬标路径
该命令⽤于从磁盘上擦除⼀个或多个⽂件数据,其中“⽬标路径”必须指定,可以是绝对路径,也可以是相对路径。⽀持跨磁盘操作。
“DEL”命令的选项⽐较丰富,可以通过“del/?”或“help del”来查看所有的选项以及选项说明信息。其中“/P”选项可以开启删除⽂件前的确认提⽰信息,默认是不开启
的;“/F”选项可以强制删除只读⽂件,也就是说默认情况下,不⽀持只读⽂件的删除;“/S”选项可以将“⽬标路径”指定为⼀个⽬录,那么将依次删除该⽬录中的⽂件并同时删除该⽬录的⼦⽬录以及⼦⽬录的⼦⽬录中的⽂件。
MOVE——移动⽂件或⽬录/重命名⽂件或⽬录
“MOVE”意思是移动,该命令主要⽤于移动⽬录,相当于Windows中的“剪切”操作,可以将⼀个或多个⽂件移动到指定的路径中;同时可以衍⽣对⽬录或⽂件的重命名操作,即将⼀个⽬录或⽂件移动的不
同名的⽬标路径中。⽤法如下:
DEL|ERASE [选项] ⽬标路径
该命令有两个⽤法,其⼀就是移动⽂件,其⼆就是重命名⽬录或⽂件。其中源路径和⽬标路径必须指定,该命令有两个选项,“/Y”选项⽤于取消移动时的确认提⽰信息,“/-Y”选项⽤于显⽰确认提⽰信息。
当移动⽂件操作时,即源路径是⼀个⽂件,⽬标路径可以为⼀个⽬录路径,那么会将源路径中的⽂件移动到⽬标路径的⽬录中(⽂件名保留);如果⽬标路径为⼀个⽂件路径,那么会将源路径中的⽂件内容读取并写⼊到⽬标⽂件中,这样可以实现⽂件的重命名操作;当源⽂件存在多个时(使⽤英⽂状态的“,”分割),则命令会将多个⽂件移动到同⼀个⽬标路径中,或者将多个⽂件的内容读取并拼接后写⼊到⼀个⽬标⽂件中。
当源路径是⼀个⽬录时,可以将源⽬录移动到指定的⽬标路径中,如果⽬标路径与源路径在同⼀个相对路径中,则可以进⾏⽬录的重命名操作。注意:“MOVE”命令可以实现⽂件或⽬录的移动(或重命名),但是只能⽀持⽂件的跨磁盘分区移动,不⽀持⽬录的跨磁盘分区移动。
REN/RENAME——重命名⽂件或⽬录
“REN”或“RENAME”意思是重命名,可以对⼀个指定的⽂件或⽬录进⾏名称的修改。⽤法如下:
REN|RENAME 源路径新名称
该命令⽤于修改⽂件或⽬录的名称,其中源路径和新名称必须同时指定,需要注意的是“新名称”不能包含新的路径,它的路径沿⽤“源路径”中的路径地址;该命令⽀持跨磁盘分区操作。
FC——⽂件⽐较
“FC”是短语“file compare”的缩写,意思是⽂件⽐较。该命令⽤于进⾏两个⽂件的内容信息⽐较,毕竟是命令⾏,所以“FC”进⾏的⽂本⽂件内容的⽐较是⽐较的,不推荐使⽤,当然如果在没有其他⽂件⽐较⼯具的时候可以勉强使⽤⼀下。⽤法如下:
FC [选项] ⽂件路径1 ⽂件路径2
该命令⽤于⽂件内容的⽐较,然后显⽰出内容的不同之处,⽀持跨磁盘分区⽂件的⽐较。同时提供多个选项,可以使⽤“fc/?”或“help fc”来查看选项的使⽤说明。
FIND——⽂件内容搜索
“FIND”,意思是查,该命令主要⽤于在指定⽂件的内容中搜索指定的字符串,并显⽰相应的结果。相当于对内容的查操作。⽤法如下:
FIND [选项] "字符串" [⽂件路径]
该命令⽤于字符串的搜索操作,其中要搜索的字符串必须使⽤英⽂状态的“""”引起来,⽽且该字符串是必须参数;⽂件路径不是必须的,但是⼤多时都是从存在的⽂件中进⾏内容字符串的查,如果⽂件路径不存在则将在接下来输⼊的内容中进⾏查(按CTRL+C组合键可以终⽌查)。该命令⽀持跨磁盘分区操作。
默认情况下,在内容中查到指定的字符串后会打印输出存在该字符串的⼀整⾏内容。当然还提供了丰富的选项控制,可以使⽤“find/?”或“help find”来查看所有的选项说明,其中“/V”选项可以显⽰输出不包含查字符串的⾏内容;“/C”选项可以输出包含查字符串的⾏数;“/N”选项可以显⽰包含字符串的⾏号和⾏内容;“/L”选项可以指定搜索

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。