[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 求教批处理遍历文件复制 当天创建的所有文件到另一文件夹 卡死

参考了网络资料,写了一个,查找当天创建的文件,备份到另一文件夹的批处理。
如果dir 不加 /s 就只能是D盘下面,没有查找子目录,是能够正常复制新文件过去的。写了 /s 程序就死了。D盘有2T的文件,DOC等比较多。18万个文件。
下面是代码,请求大神给个解决方案。
  1. @echo off&setlocal enabledelayedexpansion
  2. set num=0
  3. set daytime_1=%date:~,10%
  4. md 备份当天文件>nul 2>nul
  5. for /f "delims=" %%a in ('dir /s/a-d/b') do (
  6. echo %%a,%%~ta
  7. set daytime_2=%%~ta
  8. set daytime_2=!daytime_2:~,10!
  9. if "!daytime_1!"=="!daytime_2!" (
  10. set /a num+=1
  11. echo "备份"
  12. echo %%a,%%~ta
  13. copy /n "%%a" "备份当天文件">nul
  14. )
  15. )
  16. echo 共备份!num!个文件,end...
  17. pause
复制代码

不用这么复杂的
xcopy /D:%date:~5,2%-%date:~8,2%-%date:~0,4% z:\s z:\ss

TOP

2T大的文件盘卡着不动了。30多G测试还是可以的。太卡,有什么好的解决方案?

TOP

本帖最后由 newswan 于 2021-7-2 23:51 编辑

文件“有归档属性”。
如果,复制范围内,只有每天新生成的文件有这个属性,那么利用这个属性,
xopy /m 参数 只拷贝A属性的文件,拷贝之后取消A属性。

简单判断A属性,比日期比较快多了。

TOP

另外,可以考虑 robocopy,原理相同,

TOP

回复以上,问题不是出在 复制过程中 ,是出现在 扫描过程中,没办法,试试多线程方式了。

TOP

返回列表