Windows命令行XCOPY几种应用方法

目录

一、写在文章前

二、测试数据描述

三、应用

 应用一:复制文件夹内文件(不含目录)

应用二:复制文件夹内文件(含目录、空目录;子目录文件也包含)

应用三:仅复制文件夹内目录(含空目录及子目录)


一、写在文章前

在大量、重复、文件分散分布、仅想复制指定子文件夹或文件的情况下,使用命令行复制文件相对于使用资源管理器复制文件来说更加方便自如。windows系统中的文件复制命令为copy、xcopy。经过了解xcopy命令的参数,发现xcopy命令可以较好的实现文件目录及目录下文件的复制,具有一定的实用价值,故作记录。

二、测试数据描述

设有一个目录是F:\测试xcopy,其文件夹结构如下:

F:\测试xcopy>dir /ad /b /s 
F:\测试xcopy\1 
F:\测试xcopy\2 
F:\测试xcopy\1\01

F:\测试xcopy,其文件结构如下:

F:\测试xcopy>dir /a-d /b /s 
F:\测试xcopy\1.csv 
F:\测试xcopy\1.docx 
F:\测试xcopy\1.txt 
F:\测试xcopy\1\1.csv 
F:\测试xcopy\1\1.docx 
F:\测试xcopy\1\1.txt 
F:\测试xcopy\2\1.csv

三、应用

xcopy命令可以代替copy命令执行更加复杂的文件复制工作。如使用copy来复制文件夹,则需要采用for、copy、md等命令来组合使用,实现思路是根据for命令来遍历需要读取的文件夹,在循环体内,先md创建文件夹,然后copy复制文件,较为麻烦,而xcopy可以使用一个命令完成上述操作。

 应用一:复制文件夹内文件(不含目录)

首先创建目录F:\测试xcopy1,然后执行以下命令,可以看到仅复制了当前文件夹根目录下的文件,子目录文件及文件夹未复制。

F:\测试xcopy>xcopy F:\测试xcopy 
F:\测试xcopy1 /i 
F:\测试xcopy\1.csv 
F:\测试xcopy\1.docx 
F:\测试xcopy\1.txt 
F:\测试xcopy\1.xlsx 
复制了 4 个文件

结合通配符,可以对要复制的文件进行筛选。

F:\测试xcopy1>xcopy F:\测试xcopy\*.txt
F:\测试xcopy\1.txt
复制了 1 个文件

F:\测试xcopy1>dir F:\测试xcopy1 /b /s
F:\测试xcopy1\1.txt

应用二:复制文件夹内文件(含目录、空目录;子目录文件也包含)

先清空F:\测试xcopy1下的文件及文件夹,执行以下xcopy命令,可以看到复制后的F:\测试xcopy1目录及文件与F:\测试xcopy的目录及文件相同。想要不包含,可以将参数/e 改为/s

F:\>xcopy F:\测试xcopy F:\测试xcopy1 /i /e 
F:\测试xcopy\1.csv 
F:\测试xcopy\1.docx 
F:\测试xcopy\1.txt 
F:\测试xcopy\1.xlsx 
F:\测试xcopy\1\1.csv 
F:\测试xcopy\1\1.docx 
F:\测试xcopy\1\1.txt 
F:\测试xcopy\2\1.csv 
复制了 8 个文件 
F:\>dir F:\测试xcopy1 /b /s 
F:\测试xcopy1\1 
F:\测试xcopy1\1.csv 
F:\测试xcopy1\1.docx 
F:\测试xcopy1\1.txt 
F:\测试xcopy1\1.xlsx 
F:\测试xcopy1\2 
F:\测试xcopy1\1\01 
F:\测试xcopy1\1\1.csv 
F:\测试xcopy1\1\1.docx 
F:\测试xcopy1\1\1.txt 
F:\测试xcopy1\2\1.csv

以上命令的优化:

适合在复制大文件时使用 

xcopy F:\测试xcopy F:\测试xcopy1 /i /e /j 

适合在需要覆盖文件且不需要提醒时使用

xcopy F:\测试xcopy F:\测试xcopy1 /i /e /j /y

应用三:仅复制文件夹内目录(含空目录及子目录)

先清空F:\测试xcopy1下的文件及文件夹,执行以下xcopy命令,可以看到复制后的F:\测试xcopy1中只包含了源文件夹下的目录及子目录,没有文件被复制,适合仅复制文件夹结构时使用。

F:\>xcopy F:\测试xcopy F:\测试xcopy1 /i /t /e 

F:\>dir F:\测试xcopy1 /b /s 
F:\测试xcopy1\1 
F:\测试xcopy1\2 
F:\测试xcopy1\1\01

你可能感兴趣的:(运维,笔记,batch)