|
|
楼主 |
发表于 2020-4-23 16:39:27
|
显示全部楼层
我整个修改好的,放上来,给有同样需要的朋友直接用吧- @echo off
- del file_list1.txt
- del file_list2.txt
- cls
- echo.
- echo 本批处理的功能:比较两个目标中,某一类行的文件,是否相同,不同的话,就列出缺少的文件名并可自动复制缺少的文件。
- echo.
- echo 源目录示例:D:\Download\Data
- set /p INP1=请输入第一个要比较的目录名的完整路径(源目录):
- echo.
- echo.
- echo 目标目录示例:E:\Share\A001
- set /p INP2=请输入第二个要比较的目录名的完整路径(目标目录):
- echo.
- echo.
- set /p filetype=请输入要比较的文件名称类型(例如:“*.rar”):
- REM dir "%INP1%\%filetype%" /b>>file_list1.txt
- REM dir "%INP2%\%filetype%" /b>>file_list2.txt
- forfiles /P "%INP1%" /m %filetype% /C "cmd /c echo @file @fsize" >>file_list1.txt
- forfiles /P "%INP2%" /m %filetype% /C "cmd /c echo @file @fsize" >>file_list2.txt
- findstr /v /g:"file_list2.txt" "file_list1.txt"
- echo.
- echo.
- echo 是否自动复制上述文件到目标目录。
- echo.
- pause
- echo.
- for /f %%i in ('findstr /v /g:"file_list2.txt" "file_list1.txt"') do (
- copy "%INP1%\%%i" "%INP2%" && echo "%INP1%\%%i" "%INP2%"
- )
- echo.
- pause
- del file_list1.txt
- del file_list2.txt
复制代码 |
|