|
|
楼主 |
发表于 2021-12-2 12:39:24
|
显示全部楼层
本帖最后由 aceamuro 于 2021-12-2 14:52 编辑
回复 22# wudi61600963
对我来说太深奥了,我代码很菜,这些基本不会写啊……
不过大佬提到文件是否正在被使用的问题,我又想到一个办法,那就是把导出结果移动到另一个文件夹,如果能移动说明导出完成了,不能移动说明文件正在被写入,那就重新移动直到移空,能移空是不是就表示导出全部完成了?- setlocal enabledelayedexpansion
- for /F %%# in ('type 导出.txt') do (start/b reg export %%# a\导出_!random!.reg)
- :进度验证
- move a\*.* b\
- dir /a /s /b a | findstr . >nul && goto 进度验证 || copy b\导出_*.reg 备份.reg
复制代码 思路就是这样,不知道上面写得对不对,如果对的话是不是就相当于完整验证,没有隐患了?
补充1:这样写看来不行,偶尔会有漏掉一两个的情况,但奇怪的是漏掉的文件既不在a也b文件夹,就好像没有导出过
但用最保守的方法导出数量却总是一样的
补充2:好像是随机文件名偶尔会造成文件名冲突,把随机改成序号就没再出问题了,每次导出的数量都一样,而且速度也跟直接用start/b差不多 |
|