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

[文件操作] [已解决]求助批处理查找相同文件并移动?

本帖最后由 a574045075 于 2024-2-17 17:38 编辑

有2个文件夹分别是01和02,里面都有好多文件,如何用批处理查找出01和02文件夹里面CRC值相同的文件,并把01文件夹相同的文件移动到03文件夹.
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 a574045075 于 2022-9-8 11:10 编辑
俺在Windows 10环境下测试一切正常,能完美工作,但你却不能正常运行,俺只能表示无能为力了
hfxiang 发表于 2022-9-8 10:59



    解决了 代码的路径我搞错了.

TOP

俺在Windows 10环境下测试一切正常,能完美工作,但你却不能正常运行,俺只能表示无能为力了

TOP

请保存为ANSI格式
并确保你的D:\01、D:\02、D:\03 都存在
hfxiang 发表于 2022-9-8 10:37



    保存为ANSI格式了,还是提示,文件名和路径都是数字.

TOP

请保存为ANSI格式
并确保你的D:\01、D:\02、D:\03 都存在

TOP

俺认为楼主的目的是文件去重,故用MD5而非CRC,代码如下:
hfxiang 发表于 2022-9-8 10:16



    运行提示:文件名、目录名或卷标语法不正确。

TOP

俺认为楼主的目的是文件去重,故用MD5而非CRC,代码如下:
  1. @echo off
  2. rem 保存为ANSI格式
  3. setlocal
  4. set "Source_Dir1=D:\01"
  5. set "Source_Dir2=D:\02"
  6. set "Target_Dir=D:\03"
  7. for /f "delims==" %%a in ('set DupFile_ 2^>nul') do set "%%a="
  8. for /f "usebackq delims=" %%a in (`dir "%Source_Dir1%" "%Source_Dir2%" /a-d /s /b`) do (
  9. for /f "usebackq tokens=*" %%z in (`certutil -hashfile "%%~fa" MD5^|find /v ":"`) do (
  10. if defined DupFile_%%z (
  11. move /y "%%~a" "%Target_Dir%"
  12. ) else (
  13. set "DupFile_%%z=True"
  14. )
  15. )
  16. )
  17. endlocal
复制代码
1

评分人数

TOP

返回列表