各位大神们,我有两个文件夹,各个文件夹内有50个文件,我想写个批处理进行比较两个文件夹内文件的文件名和修改时间,如果文件名相同且修改时间相等的输入结果正确,其它结果错误。
期待大神回复了
先贴上我写的,但结果有问题,期待大家改正- @echo off&setlocal enabledelayedexpansion
- set folder1=F:\data
- set folder=F:\data2
- ::循环文件夹得到文件属性及数量
- for /f "delims=""" %%i in ('dir /a-d /b /s %folder% 2^>nul') do (
- set /a a+=1
- for /f "tokens=1,2" %%j in ('dir /a /tc "%%i" ^| findstr "%%~nxi"') do (
- rem echo 文件名称:%%~nxi 文件修改时间:%%~ti >>C:\CHECK_DDC_COUNT\1.txt
- for /f "delims=""" %%k in ('dir /a-d /b /s %folder1% 2^>nul') do (
- for /f "tokens=1,2" %%l in ('dir /a /tc "%%k" ^| findstr "%%~nxk"') do (
- rem 比较文件名及修改时间 ,这部有点问题,有很多重复,但我还没想到什么好的解决方法
- if %%~nxi equ %%~nxk (if %%~ti equ %%~tk echo 文件相同 >>C:\CHECK_DDC_COUNT\1.txt )else echo 文件不相同 %%~nxi %%~nxk >>C:\CHECK_DDC_COUNT\1.txt
- ))
- ))
- echo !a!个文件 >>C:\CHECK_DDC_COUNT\1.TXT
- echo.&echo.
复制代码
|