Board logo

标题: [文件操作] 批处理如何根据时间拷贝文件? [打印本页]

作者: netdzb    时间: 2020-4-21 09:29     标题: 批处理如何根据时间拷贝文件?

拷贝某个文件夹的当天建立的文件到新的文件夹,如果已经存在就跳过。
作者: wujunkai    时间: 2020-4-21 12:09

回复 1# netdzb
  1. @echo off
  2. set "back=C:\"
  3. for /R %%i in (*.*) do for /F %%j in ("%%~ti") do if "%%j"=="%date%" copy "%%i" "%back%"
  4. pause
复制代码

作者: netdzb    时间: 2020-4-21 12:15

本帖最后由 netdzb 于 2020-4-21 12:17 编辑

回复 2# wujunkai


比起linux,批处理获取文件的操作还是有点复杂的啊,需要嵌套。
要是文件夹下面有子目录,子目录下有二级子目录,这个方法就不好用了。
也许可以借助第三方工具获取文件建立的时间。
作者: wujunkai    时间: 2020-4-21 12:48

回复 3# netdzb
  1. for /R %%i in (*.*) do for /F %%j in ("%%~ti") do echo "%%i" 创立于 %%j
复制代码

作者: hlzj88    时间: 2020-4-22 21:12

这个问题,我们假设一个场景,每天对某个文件夹进行备份。那么经过一次完整的备份后,只需要对新文件进行备份即可。那么使用xcopy无疑是比较合适的。 xcopy /d 只对比较新于原来文件才copy,符合楼主提议。
作者: netdzb    时间: 2020-4-23 07:55

回复 5# hlzj88

robocopy有增量备份,可以试一下。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2