xcopy复制指定类型的文件并保留原始的目录结构

参考:https://bbs.csdn.net/topics/392023993,9楼

我使用的是powershell执行此命令的,如下:

xcopy *.dat d:\mybackup /S

把当前目录及其子目录下的所有扩展名为 dat 的文件拷贝到 d:/mybackup 目录中,并保持它们原有的目录结构。

比如我当前的目录中有文件:

1.dat

2018\01.dat

2018\01.xls

2018\02.dat

2017\4\1.dat

2017\3\

在当前目录执行 xcopy *.dat d:\mybackup /S 之后,d:\mybackup 下的内容为:

1.dat

2018\01.dat

2018\02.dat

2017\4\1.dat

这个目录中只有 dat 文件,而且原始的一个窗口目录 2017\3 也是不存在的,即空目录不会被拷贝过来

xcopy的相关参数:

/E : 同 /S 相比,则会把空目录也拷贝过来,如果使用 xcopy *.dat d:\mybackup /E,则 d:\mybackup 目录下的内容为:

1.dat

2018\01.dat

2018\02.dat

2017\4\1.dat

2017\3\

最后一行红色的部分就是拷贝过来的空目录

需要注意的是,目标路径,应该采用“\”分隔符而不是“/”,否则指定的目录名无效,比如我测试的时候使用 

xcopy *.dat ../mybackup /E,结果所有的文件都以当前目录的上级目录为基础了,即相当于

xcopy *.dat .. /E


根据在拷贝过程中的观察,所谓不拷贝空目录,其实还是会先建立这个目录,如果发现这个目录中没有要拷贝的文件时,它会被删除掉,当然由于速度很快,我只观察到第一级目录,而其中的子目录则没有看到,不过我想应该也是会建立然后再删除这样的策略


  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值