批处理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批处理相关的知识,希望对你有一定的参考价值。
1.3 学习 md rd ren move 命令
学习要点:
1.创建文件夹:md
2.删除文件夹:rd
3.重命名文件(夹):ren
4.移动文件(夹):move
一.创建文件夹:md
md命令用于创建文件夹,下面例子中的路径是可以缺省的,如果缺省则在当前目录下创建新文件夹;如果创建的新文件夹及其路径带有空格或特殊符号的,要用双引号括起来。
1.创建单个文件夹
格式:MD [路径\]目录
例1
md d:\abc
在D盘下建立一个名为abc的文件夹。
例2
md abc
这里为缺省路径,则在当前目录下创建一个名为abc的文件夹。
例3
md "d:\my game"
在D盘下建立一个名为my game的文件夹。
对于新建的文件夹名称中包含有空格或是特殊符号的,一定要用双引号” “把文件夹名括起来。
例4
md "C:\Documents and Settings\456^ 789"
在C:\Documents and Settings下建立一个名为456^ 789的文件夹,由于路径中有空格,所以我们用双引号" "把路径和文件夹名一起括起来了。
2.同时创建多个目录
格式:md [路径\]目录1 [路径\]目录2 [路径\]目录3……
例5
md abc D:\gmae\123 abcd
在当前目录下建立abc和abcd两个文件,同时D:\gmae下也建立一个文件夹123。
3.创建多级目录
格式:md [路径\]目录1\目录2\目录3\…
假如我们要在D盘下建立文件夹abc,然后在abc中建新文件夹abcd,接着再在abcd中建文件夹abcde,有没有一个命令可以一次性搞定的呢?答案肯定的!
例6
md d:\abc\abcd\abcde
就这么一个命令就搞定了,不信?你当然可以测试一下罗,呵呵~
思考:
在例4中如果命令不用双引号括起来,即md C:\Documents and Settings\456^ 789 这样会发生什么情况呢?这个就让大家动手去测试一下了,哈哈!!
二.删除文件夹:rd
删除一个目录。
RMDIR [/S] [/Q] [drive:]path
RD [/S] [/Q] [drive:]path
/S 除目录本身外,还将删除指定目录下的所有子目录和
文件。用于删除目录树。
/Q 安静模式,带 /S 删除目录树时不要求确认
在不加任何参数时,rd命令只能删除空的文件夹。
例1.
rd d:\123
rd abc
第一个是删除D盘下的空文件夹123。第二个是删除当前目录下的空文件夹abc。
/S 除目录本身外,还将删除指定目录下的所有子目录和文件。用于删除目录树。
例2.
rd /s d:\123
如果文件夹123不为空,则通过/S参数,可删除文件夹123。
/Q 安静模式,带 /S 删除目录树时不要求确认。
例3.
rd /s /q d:\123
在使用/S参数时,系统会提示: d:\123 是否确认(Y/N)? 此时通过/Q参数可以使其不用询问而直接删除。
三.重命名文件(夹):ren
重命名文件。
RENAME [drive:][path]filename1 filename2.
REN [drive:][path]filename1 filename2.
filename1的路径可以省略,缺省情况下为当前目录。filename2只能是文件名,不能使用任何路径。
1.单个文件的重命名
例1
ren d:\123.txt 456.bat
把123.txt 重命名为456并把后缀名修改为bat。
例2
ren 123.txt 456.bat
缺省路径情况下,把当前目录下的123.txt重命名为456.bat。
2.批量重命名
通过*和?这两个通配符来批量重命名。*表示任意多个字符,?表示一个字符。
例3
ren *.bat *.txt
把后缀名为bat的文件批量更改为txt后缀后的文件。
★对于通配符?比较复杂,在此就不说了,请大家多找一下相关的资料吧!
★当文件具有隐藏属性或系统属性的时候,ren不能直接重命名,需要把文件的隐藏或系统属性去掉方可更名,这一点大家要注意!
四.移动文件(夹):move
移动文件并重命名文件和目录。
要移动至少一个文件:
MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination
要重命名一个目录:
MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2
[drive:][path]filename1 指定您想移动的文件位置和名称。
destination 指定文件的新位置。目标可包含一个驱动器号
和冒号、一个目录名或组合。如果只移动一个文件
并在移动时将其重命名,您还可以包括文件名。
[drive:][path]dirname1 指定要重命名的目录。
dirname2 指定目录的新名称。
/Y 取消确认改写一个现有目标文件的提示。
/-Y 对确认改写一个现有目标文件发出提示。
1.移动文件(夹)
基本格式:MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination
[drive:][path]filename1[,...]
想要移动的文件(夹)可以使用相对路径,也可以使用绝对路径,缺省路径情况下默认为当前目录。
Destination 只能是目录路径, 可以使用相对路径,也可以使用绝对路径,缺省路径情况下默认为当前目录。
例1
move d:\abc d:\abcd
如果把文件夹abc移到文件夹abcd内。
例2
move 123.txt abc
把当前目录下的123.txt移动到当前文件夹abc内。这里都使用了相对路径,缺省路径情况下默认为当前目录。
例3
move 123.txt e:\abc
把当前目录下的123.txt移动到e:\abc目录下。
2.重命名文件(夹)
例4
move d:\abc d:\abcd
这里要注意一下,如果目标文件夹abcd不存在,则把abc移到d:\下,并把自身名称更改为abcd。
利用这一特性,move命令具备重命名功能。
例5
move d:\123.txt d:\abc\456.txt
如果 456.txt存在,系统将会提示你:改写 D:\456.txt 吗? (Yes/No/All):
当你输入Y后则123.txt会覆盖456.txt。如果456.txt不存在,则把123.txt移到d:\abc目录下,并重命名为456.txt。
例6
move /y 123.txt 456.txt
如果123.txt和456.txt都存在,通过/y参数后,系统不会提示你,而直接把123.txt覆盖456.txt。
例7
move 123.txt e:\abc\456.txt
对于跨区移动,如果456.txt存在会提示:文件存在。命令不会执行;如果456.txt不存在,则把123.txt移到e:\abc目录下,并重命名为456.txt。
★MOVE命令可以跨分区移动文件,却不可以跨分区移动文件夹。
★对于跨分区移动文件时,如果目标位置存在和将要移动的文件同名时,系统会提示:“文件存在” 最后,命令将不会执行。
★对于隐藏或系统属性的文件,只有把它们的属性去除后,move命令才会执行。
我们还是来总结一下:
对于move A B这样的模式
1、如果A、B同为文件夹名,
①如果B存在,则把A移动到B目录下。(如例1);
②如果B不存在,则把A移动到B所在的目录下,同时重命名为B。(如例4)。
2、如果A为文件名,B为文件夹名,
① 将把A移动到B目录下。(如例2,例3);
② 如果B文件夹内有和A文件同名的:
I A和B为同一分区,则提示:是否覆盖/不覆盖/全部覆盖?
II A和B为不同分区,则提示:文件存在。不做任何操作!
3、如果A、B同为文件名,
①A和B为同一分区,如果B存在,则系统会提示你是否将把A重命名为B;如果B不存在就把A移动到B所在的目录下的同时,重命名 为B。(如例5);
②A和B为不同分区,如果B存在,则命令不执行;如果B不存在,则把A移动到B所在的目录下并重命名为B。(如例 7)。
以上是关于批处理的主要内容,如果未能解决你的问题,请参考以下文章