批处理入门手册之批处理常用DOS命令篇,复制命令网赌十大信誉的平台

COPY 命令:

复制
将一个或多个文件从一个位置复制到其他位置。

1.2 学习attrib  del  copy  xcopy命令

  // 描述:

语法
copy [/d] [/v] [/n] [{/y|/-y}] [/z] [{/a|/b}] Source [{/a|/b}] [+ Source [{/a|/b}] [+ …]][Destination [{/a|/b}]]

学习要点:
1。设置文件属性:attrib
2。删除命令:del
3。复制文件:copy
4。复制文件(夹):xcopy

    将一个或多个文件从一个位置复制到另一个位置。

参数
/d 
允许将复制的加密文件在目标处作为解密文件保存。 
/v 
验证是否正确写入新文件。 
/n 
在复制名字超过八个字符,或者文件扩展名超过三个字符的文件时使用短文件名(如果有的话)。 
/y 
禁止提示您确认要覆盖现存的目标文件。 
/-y 
提示您确认要覆盖现存的目标文件。 
/z 
在重启模式中复制网络文件。 
/a 
表明 ASCII 文本文件。 
/b 
表明二进制文件。 
Source 
必需指定要复制的文件或文件集的所在位置。source 可以由驱动器号和冒号、文件夹名、文件名或这几者的组合所组成。 
Destination 
必需指定要将文件或文件集复制到的位置。Destination 可以由驱动器号和冒号、文件夹名、文件名及这几者的组合所组成。 
/? 
在命令提示符显示帮助。 
注释
可以复制那些使用文件结束字符 (CTRL+Z) 以表明文件结束的 ASCII 文本文件。 
使用 /a 
当在命令行的文件列表之前有 /a 时,它适用于所有已列出的文件,直到 copy 遇到 /b。在这种情况下,/b 应用于文件前面的 /b。

一、设置文件属性:attrib

    ### 注意:如果想复制文件夹,请使用 XCOPY 。

当 /a 在命令行上紧跟在文件列表之后时,它适用于所有已列出的文件,直到 copy 遇到 /b。在这种情况下,/b 应用于文件前面的 /b。

显示或更改文件属性。
ATTRIB [ R | -R] [ A | -A ] [ S | -S] [ H | -H] [[drive:]
[path] filename] [/S [/D]]

  // 语法:

/a 参数的作用取决于它在命令行字符串中的位置。当 /a 紧随 Source 之后时,copy 会将文件当作 ASCII(文本)文件,并复制第一个文件结束符前的数据。

     设置属性。
  –    清除属性。
  R   只读文件属性。
  A   存档文件属性。
  S   系统文件属性。
  H   隐藏文件属性。
  [drive:][path][filename]   指定要处理的文件属性。
  /S  处理当前文件夹及其子文件夹中的匹配文件。
  /D  也处理文件夹。

     copy [/a] [/b] [/d] [/v] [/n] [/z] [/y
| /-y] <source> [/a] [/b] [<source> [/a] [/b] [+
…]] [<destination> [/a] [/b]]
 

当 /a 紧随 Destination 之后时,copy 会添加文件结束符作为文件的最后一个字符。

1。查看文件的文件属性
格式:ATTRIB [drive:][path][filename]

  //  参数:

使用 /b 
/b 指定命令解释器读取目录中由文件大小指定的字节数。/b 是 copy 的默认值,除非 copy 用于合并文件。

例1,
attrib d:\ pagefile.sys
查看d:\ pagefile.sys文件的属性。

    /a(ASCII):

当 /b 在命令行上位于文件列表之前时,它适用于所有已列出的文件,直到 copy 遇到 /a。在这种情况下,/a 应用于文件前面的 /a。

2。修改文件的属性。
格式:attrib ?属性

      –> 表示一个ASCII文本文件。  

当 /b 在命令行上位于文件列表之后时,它适用于所有已列出的文件,直到 copy 遇到 /a。在这种情况下,/a 应用于文件前面的 /a。

例1,
attrib –h d:\ pagefile.sys
消除d:\ pagefile.sys的“隐藏”属性。

    /b(Binary):

/b 的作用取决于它在命令行字符串中的位置。当 /b 紧随 Source 之后时,copy 复制包含任何文件结束符的整个文件。

例2,
attrib s h d:\ pagefile.sys
给d:\ pagefile.sys设置“系统”和“隐藏”属性。

      –> 表示一个二进制文件。

当 /b 紧随 Destination 之后时,copy 不会添加文件结束符。

3。批量文件处理

    /d(Decrpyted):

使用 /v 
如果写入操作不能校验,则会出现错误消息。尽管使用 copy 很少发生记录错误,但是仍可以使用 /v 来确保重要的数据已正确记录。因为要检查驱动器上记录的每一个扇区,所以该 /v 命令行选项也会使 copy 命令的运行速度减慢。

例1,
attrib h d:\123\*.bat /s
通过/s参数可批量将d:\123及其子目录下的所有bat文件设置为“隐藏”属性.

      –> 允许将复制的加密文件保存为目标位置的解密文件。

使用 /y 和 /-y 
如果在 COPYCMD 环境变量中预先设置了 /y,可以通过在命令行使用 /-y 来替换该设置。默认情况下,在替换该设置时会提示您,除非该 copy 命令在批处理脚本中执行。

例2,
attrib h d:\123 /s /d
将d:\123及其下所有同名为123的子目录设置为“隐藏”属性.参数/d必须在批量设置文件属性的同时,对指定目录及
其下所有子目录进行文件属性操作。参数/d可以理解为“directory”(目录),也就是说/d
必需和/s一起使用。

    /v(Verify):     

附属文件 
要附加文件,请为 Destination 指定单个文件,但要为 Source 指定多个文件(使用通配符或 文件 1+文件 2+文件 3 的格式)。

思考:

      –> 验证是否正确写入了新文件。
      –> 如果无法验证写入操作,则会显示错误消息。
尽管复制时很少出现录制错误,但可以使用/v 验证是否已正确录制关键数据。
         ### 注意:/v
命令行选项也会降低复制命令的速度,因为必须检查磁盘上记录的每个扇区。

使用 /z 
如果在复制阶段连接丢失(例如,如果服务器脱机切断了连接),copy /z 将在重新建立连接后继续复制。/z 同时会显示每个文件已完成的复制操作的百分比。

 “attrib h d:\123 /s /d”和“attrib h d:\123\*.* /s
/d”有什么区别呢?
前者只有d:\123以及它同名的子目录设为了“隐藏”,而其它文件及子目录都没有设置“隐藏”。
后者则将d:\123下的所有文件及子目录设置了“隐藏”属性,但d:\123目录没有设置“隐藏”属性。

    /n:

复制到设备以及从设备复制 
可以用设备名替换一次或多次出现的 source 或 destination。

二、删除命令:del

       
–>
在复制名称长度超过八个字符的文件或文件扩展名超过三个字符的文件时,请使用短文件名。

在复制到设备时使用或省略 /b 
当 destination 是设备时(例如,Com1 或 Lpt1),/b 将以二进制模式将数据复制到该设备。在二进制模式下,copy /b 会将所有字符(包括特殊字符,例如, CTRL+C、CTRL+S、CTRL+Z 以及换行符等)作为数据复制到设备。但是,如果省略了 /b,则将以 ASCII 模式将数据复制到设备。在 ASCII 模式下,特殊字符可能导致 Windows XP 在复制过程中合并文件。有关详细信息,请参阅“合并文件”。

删除一个或数个文件。
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names

    /z:

使用默认目标文件 
如果不指定目标文件,将使用与源文件相同的名称、创建日期、创建时间来创建副本,并将新副本置于当前驱动器的当前目录中。如果源文件位于当前驱动器的当前目录中,而您没有为目标文件指定其他驱动器或目录,则 copy 命令将终止并显示下列错误消息:

  names         指定一个或数个文件或目录列表。通配符可被用来
                删除多个文件。如果指定了一个目录,目录中的所
                有文件都会被删除。

      –>
以可重新启动的模式复制网络文件。

File cannot be copied onto itself

  /P            删除每一个文件之前提示确认。
  /F            强制删除只读文件。
  /S            从所有子目录删除指定文件。
  /Q            安静模式。删除全局通配符时,不要求确认。
  /A            根据属性选择要删除的文件。
  attributes      R  只读文件                     S  系统文件
                  H  隐藏文件                     A  存档文件
                  –  表示“否”的前缀

      –>
如果在复制阶段连接丢失(例如,如果服务器脱机会断开连接),则在重新建立连接后将继续复制
/z。 /z 还显示为每个文件完成的复制操作的百分比。

0 File(s) copied 

基本格式:DEL [drive:][path][filename]

    /y /-y:
      –> 如果在COPYCMD环境变量中预设了 /y,则可以在命令行使用
/-y 覆盖此设置。
默认情况下,除非在批处理脚本中执行复制命令,否则在替换此设置时会提示您。  

合并文件 
如果指定了使用加号 (+) 分隔的多个 source,copy 会将这些文件合并在单个文件之中。如果在 source 中使用了通配符(* 或 ?),但在 destination 中指定了单个文件名,则 copy 会将所有与 source 中的文件名匹配的文件合并,并使用在 destination 中指定的文件名来创建单个文件。除非使用了 /b 命令行选项,否则在任一种情形中,copy 都会假定合并的文件是 ASCII 文件。

例1,
del d:\123\abc.txt
删除abc.txt

  //
注意:

复制零长度文件 
Copy 不会复制 0 字节长度的文件。使用 xcopy 复制这些文件。

/P 删除每一个文件之前提示确认。

–> 要复制目录的所有文件和子目录,请使用xcopy命令。

更改文件的时间和日期 
如果要将当前的时间和日期指派给文件而不修改文件,请使用以下语法: 

例2,
del /p d:\123\*.*
删除d:\123目录下所有文件,如果你想让它在删除前都询问你是否删除,我们可以加上/p参数,防止误删除。

–> 您可以复制使用文件结束符(CTRL +
Z)的ASCII文本文件来指示文件的结尾。

copy /b Source+,,

/S 从所有子目录删除指定文件。

–>
要附加文件,请为Destination指定单个文件,为Source指定多个文件(使用通配符或File1

逗号表明省略了 Destination 参数。

例3,
del /s d:\123\*.*
删除d:\123目录及其子目录下所有文件。
通过使用/s参数后,del命令就会在指定目录(如未指定则在当前目录)及其子目录中搜索所有指定文件名的文件并删
除。

  • File2 + File3格式)。

在子目录中复制文件 
要复制目录中的所有的文件和子目录,应该使用 xcopy 命令。有关 xcopy 的详细信息,请参阅“”。

/Q 安静模式。删除全局通配符时,不要求确认。

–> 可以将设备名称替换为一次或多次出现的源或目标。

故障恢复控制台提供了带有不同参数的 copy 命令。 
范例
要将文件 Memo.doc 复制到当前目录中的 Letter.doc,并确保在复制的文件的末尾为文件结束符,请键入: 

例4,
del /s /q d:\123\*.*
删除d:\123目录及其子目录下所有文件。
通过/q参数则无需确认直接删除,在使用此参数时要小心!!

–> 当Destination是设备(例如,Com1或Lpt1)时,/b
以二进制模式将数据复制到设备。 在二进制模式下,copy /b 将所有字符
   (包括特殊字符,如CTRL + C,CTRL + S,CTRL +
Z和ENTER)复制到设备作为数据。
但是,如果省略/b,则数据将以ASCII模式复制到设备。
     在ASCII模式下,特殊字符可能会导致文件在复制过程中合并。

copy memo.doc letter.doc /a 

/A 根据属性选择要删除的文件。

–>
如果未指定目标文件,则会创建与原始文件具有相同名称,修改日期和修改时间的副本。
新副本存储在当前驱动器的当前目录中。
   
 如果源文件位于当前驱动器和当前目录中,并且您没有为目标文件指定其他驱动器或目录,则copy命令将停止并显示以下错误消息:

要将文件 Robin.typ 从当前驱动器的当前目录复制到位于驱动器 C 上的现有目录 Birds 中,请键入: 

例5,
del /ar /s d:\123\*.*
删除d:\123目录及其子目录下所有只读属性的文件。
这里我们通过/a:attributes
参数对指定属性的文件选择删除。文件属性attributes,可选的有r(只读)、s(系统)
、h(隐藏)、a(存档)。 


copy robin.typ c:\birds 

三、复制文件:copy

C:\Users\Administrator>copy a.txt
文件无法自身复制。

如果 Birds 目录不存在,Robin.typ 文件将被复制到驱动器 C 的磁盘根目录下名为 Birds 的文件中。

Copy只能复制文件,不能复制文件夹。

已复制 0 个文件。

–>
如果在Source中指定了多个文件,则copy会使用Destination中指定的文件名将它们全部合并到一个文件中。
除非使用 /b 选项,否则复制假定组合文件是ASCII文件。

–> 复制不会复制0字节长的文件。 使用xcopy复制这些文件。

–>
如果要在不修改文件的情况下将当前时间和日期分配给文件,请使用以下语法:


要将几个文件复制进一个文件,则需列出几个 Source 文件,并且文件名之间用加号 (+) 隔开,同时指定要包含合并结果文件的 Destination 文件。例如,要将位于当前驱动器的当前目录中的 Mar89.rpt、Apr89.rpt 以及 May89.rpt 合并,并将它们放在当前驱动器的当前目录下名为 Report 的文件中,请键入: 

1。单个文件的复制

copy /b <Source> +,,

### “逗号” 表示省略了 Destination 参数

  //
实例:

**//

copy mar89.rpt + apr89.rpt + may89.rpt report 

格式:copy source[drive:][path][filename]  [destination
[drive:][path][filename]]
即copy 要复制的源文件(包括路径和文件名) 
文件复制的目标路径[\文件名],当[destination [drive:][path]
[filename]]缺省时则为当前目录。

在当前目录中简单的复制:**

C:\Users\Administrator\cmd>echo a
> a.txt

 

C:\Users\Administrator\cmd>copy a.txt b.txt
已复制 1 个文件。

 

C:\Users\Administrator\cmd>dir
驱动器 C 中的卷是 Windows10
卷的序列号是 0D7B-113B

 

C:\Users\Administrator\cmd 的目录

 

2018-08-15 10:41 <DIR> .
2018-08-15 10:41 <DIR> ..
2018-08-15 10:41 4 a.txt
2018-08-15 10:41 4 b.txt
2 个文件 8 字节

合并文件时,copy 会使用当前日期和时间来标记目标文件。如果省略 Destination,则文件被合并并且会使用首个指定的文件的名称存储。例如,要将所有的四个文件合并进 Report,而且已有名为 Report 的文件,请键入: 

例1,
copy c:\123.txt d:\
把123.txt复制到d:\目录下。如果此操作成功,命令行窗口中会提示“已复制
1个文件”。

2 个目录 19,742,240,768 可用字节

 

**//

copy report + mar89.rpt + apr89.rpt + may89.rpt 

例2,
copy c:\123.txt d:\abc.bat
把123.txt复制到d:\目录下,并把它修改为abc.bat,这里修改了文件名和它的格式。

把其他目录中的文件复制到当前目录中来:**

C:\Users\Administrator\cmd>copy d:\c.txt
已复制 1 个文件。

C:\Users\Administrator\cmd>dir
驱动器 C 中的卷是 Windows10
卷的序列号是 0D7B-113B

C:\Users\Administrator\cmd 的目录

2018-08-15 10:50 <DIR> .
2018-08-15 10:50 <DIR> ..
2018-08-15 10:49 4 a.txt
2018-08-15 10:49 4 b.txt
2018-08-15 10:27 0 c.txt
3 个文件 8 字节
2 个目录 19,739,402,240 可用字节

还可通过使用通配符(* 或 ?)来将几个文件合并进一个文件。例如,在当前驱动器的当前目录中,要将所有具有 .exe 扩展名的文件合并进名为 Combin.doc 的文件中,请键入: 

例3,
copy .\123
把当前目录下的123子目录中的文件全部拷到当前目录。这里好像有点难理解,呵呵,解释一下:比如当前目录是
c:\windows,它有很多子目录的,现在就把它的一个子目录123里面的文件全都拷到当前目录c:\windows,这样应该明
白了吧!~

C:\Users\Administrator\cmd>

 

**//

copy *.txt combin.doc 

2。批量复制文件

把当前目录中的文件复制到其他目录中去:**

C:\Users\Administrator\cmd>copy a.txt d:\Lofter\

如果要使用通配符将几个二进制文件合并进一个文件,请添加 /b 命令行选项。这可防止 Windows XP 将 CTRL+Z 当作文件结束符处理。例如,键入: 

例1,
copy c:\123 d:\abc
将c:\123 目录中所有文件复制到d:\abc目录中.

已复制 1 个文件。

 

copy /b *.exe combin.exe 

例2,
copy c:\123\*.rm d:\abc /y
将c:\123
目录中所有rm格式的文件复制到d:\abc目录中,当目标目录中已经存在了和源目录中即将复制的文件相同文
件名的文件时,就会出现如“改写x:\xx吗?(Yes/No/All):”这样的提示,让你选择是覆盖、不覆盖还是全部覆盖,
通过参数/y(复制单个文件或批量复制时皆可使用),可以实现重名文件无须确认直接覆盖。

// 合并文本文件:

C:\Users\Administrator\cmd>copy a.txt + b.txt c.txt
a.txt
b.txt
已复制 1 个文件。

C:\Users\Administrator\cmd>dir
驱动器 C 中的卷是 Windows10
卷的序列号是 0D7B-113B

C:\Users\Administrator\cmd 的目录

2018-08-15 11:00 <DIR> .
2018-08-15 11:00 <DIR> ..
2018-08-15 10:49 4 a.txt
2018-08-15 10:49 4 b.txt
2018-08-15 11:00 9 c.txt
3 个文件 17 字节

警告

3。合并文件
格式:copy /b 文件1+文件2+……文件N 合并后的文件名

2 个目录 19,740,422,144 可用字节

 

如果合并二进制文件,结果文件可能因为内部格式而无法使用。
在下例中,copy 命令将每个带有 .txt 扩展名的文件和它对应的 .ref 文件合并起来。结果是文件名相同但扩展名为 .doc 的文件。copy 将 File1.txt 与 File1.ref 合并形成 File1.doc,然后 copy 将 File2.txt 与 File2.ref 合并形成 File2.doc,如此等等。例如,键入:

例1,
copy /b d:\1.mp3 d:\2.mp3 e:\3.mp3
把1.mp3和2.mp3合并成3.mp3。

// 合并二进制文件:

C:\Users\Administrator\cmd>copy /b d:\cloudmusic\1.mp3 +
d:\cloudmusic\2.mp3 3.mp3
d:\cloudmusic\1.mp3
d:\cloudmusic\2.mp3
已复制 1 个文件。

### 虽然可以合并,但是合并后的这个 3.mp3
文件并不能打开。所以好像没什么作用啊!
###
### 警告:

copy *.txt + *.ref *.doc 

例2,
copy /b d:\1.txt d:\2.mp3
把1.txt和2.mp3合并,这里没有指定合成后的文件名哦,缺省情况下,合并后的文件名是命令中的第一个文件的名。
在这里,即把2.mp3合并进了1.txt。

### 如果组合二进制文件,由于内部格式化,生成的文件可能无法使用。

 

要合并所有具有 .txt 扩展名的文件,然后合并所有具有 .ref 扩展名的文件,并将合并结果置于 Combin.doc 文件中,请键入: 

★在尾部隐藏了文本数据的图片文件,在使用其他软件进行编辑并保存后,隐藏的文本数据有可能会丢失。
★MP3文件在使用此方法连接后,能实现连续播放。
★合并图片/歌曲这样的二进制文件必须使用/b参数(b代表Binary,二进制),否则合并将会失败;另一个合并参是/a
(a代表ASCII,文本文件),只能用于纯文本的合并。两参数不能同时使用,二进制方式可以合并文本和二进制文件,
而文本方式则只能合并文本。

// 复制远程主机上的共享文件。

C:\Users\Administrator\cmd>copy
\\172.17.161.253\软件\2345\2345minipack.ini /z /v
覆盖 C:\Users\Administrator\cmd\2345minipack.ini 吗? (Yes/No/All):
y

copy *.txt + *.ref combin.doc 

四、复制文件(夹):xcopy

100% 已复制 已复制 1 个文件。

 

**//

XOX 

复制文件和目录树。
XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S
[/E]] [/V] [/W]
                           [/C] [/I] [/Q] [/F] [/L] [/G]
[/H] [/R] [/T] [/U]
                           [/K] [/N] [/O] [/X] [/Y] [/-Y]
[/Z]
                           [/EXCLUDE:file1[ file2][ file3]…]

还有一个高级的功能就是可以隐藏文本文件**

C:\Users\Administrator\cmd>copy 1.mp3 /b + a.txt /a 1a.mp3
1.mp3
a.txt
已复制 1 个文件。

###

 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 = 目录)?

您可能感兴趣的文章:

  • dos命令行choice命令使用详解
  • 批处理入门手册之批处理常用DOS命令篇(echo、rem、cd、dir)
  • dos下通过wmic命令查看硬盘和内存/CPU信息(windows自带命令查看硬件信息)
  • dos里执行tracert命令只有一跳的原因及解决方法
  • cmd命令行大全 dos命令
    cmd命令整理
  • dos(cmd)中删除、添加、修改注册表命令
  • dos命令
    cd命令使用说明[图文说明]
  • C/C++中一次性执行多个DOS命令的实现思路

Post Author: admin

发表评论

电子邮件地址不会被公开。 必填项已用*标注