批处理

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)。

以上是关于批处理的主要内容,如果未能解决你的问题,请参考以下文章

批处理详解

批处理学习笔记第一课:什么是批处理

用PowerShell代替批处理吧!

关于批处理

如何用批处理发邮件

批处理的ArcGIS中的批处理