标题: [文本处理] 求教批处理遍历文件复制 当天创建的所有文件到另一文件夹 卡死 [打印本页]
作者: xiaomaowing 时间: 2021-7-2 16:29 标题: 求教批处理遍历文件复制 当天创建的所有文件到另一文件夹 卡死
参考了网络资料,写了一个,查找当天创建的文件,备份到另一文件夹的批处理。
如果dir 不加 /s 就只能是D盘下面,没有查找子目录,是能够正常复制新文件过去的。写了 /s 程序就死了。D盘有2T的文件,DOC等比较多。18万个文件。
下面是代码,请求大神给个解决方案。- @echo off&setlocal enabledelayedexpansion
- set num=0
- set daytime_1=%date:~,10%
- md 备份当天文件>nul 2>nul
- for /f "delims=" %%a in ('dir /s/a-d/b') do (
- echo %%a,%%~ta
- set daytime_2=%%~ta
- set daytime_2=!daytime_2:~,10!
- if "!daytime_1!"=="!daytime_2!" (
- set /a num+=1
- echo "备份"
- echo %%a,%%~ta
- copy /n "%%a" "备份当天文件">nul
- )
- )
- echo 共备份!num!个文件,end...
- pause
复制代码
作者: idwma 时间: 2021-7-2 16:54
不用这么复杂的
xcopy /D:%date:~5,2%-%date:~8,2%-%date:~0,4% z:\s z:\ss
作者: xiaomaowing 时间: 2021-7-2 18:36
2T大的文件盘卡着不动了。30多G测试还是可以的。太卡,有什么好的解决方案?
作者: newswan 时间: 2021-7-2 23:50
本帖最后由 newswan 于 2021-7-2 23:51 编辑
文件“有归档属性”。
如果,复制范围内,只有每天新生成的文件有这个属性,那么利用这个属性,
xopy /m 参数 只拷贝A属性的文件,拷贝之后取消A属性。
简单判断A属性,比日期比较快多了。
作者: newswan 时间: 2021-7-2 23:56
另外,可以考虑 robocopy,原理相同,
作者: xiaomaowing 时间: 2021-7-5 09:19
回复以上,问题不是出在 复制过程中 ,是出现在 扫描过程中,没办法,试试多线程方式了。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |