标题: [文件操作] 批处理BAT如何比较多个文件夹下的文件? [打印本页]
作者: Numb_tiger 时间: 2014-5-14 20:40 标题: 批处理BAT如何比较多个文件夹下的文件?
小弟初学批处理,求各位大神搭救
如图所示,同一路径下有3个文件夹(有更多以IP命名的文件夹),文件夹中包含5个文件且文件名与其他文件夹下的文件相同,以192.168.56.1文件夹中的文件为模板,让其他文件夹中的5个文件与模板文件夹中的文件作比较,如不同则把与模板不同的文件夹名写入出错计算机.txt。如192.168.1.103文件夹中内容与模板不相同则在出错计算机.txt中写入:IP为192.168.1.103的计算机有问题。
我写了两个文件夹作比较的代码如下:- @echo off
- fc.exe 192.168.1.103\*.* 192.168.56.1\*.*
- fc 192.168.1.103 192.168.56.1 >nul&&echo 无差异||echo 有差异
- pause
复制代码
我已上传模板及其中一个文件夹
作者: CrLf 时间: 2014-5-14 21:30
是比较文件名还是文件内容
作者: Numb_tiger 时间: 2014-5-14 22:37
回复 2# CrLf
是比较文件内容。
作者: 522235677 时间: 2014-5-15 12:52
自己完善下- @echo off
- for /f "delims=" %%a in ('dir /b 192.168.56.1 /a-d') do (
- for /f %%b in ('md5 "192.168.56.1\%%a"') do set "%%~na=%%b"
- )
- for /f "delims=" %%a in ('dir /b /ad') do (
- if %%a neq 192.168.56.1 (
- for /f "delims=" %%b in ('dir /b %%a /a-d') do (
- for /f %%c in ('md5 "%%a\%%b"') do call :check %%%%~nb%% %%c %%a "%%~nb"
- )
- )
- )
- pause
-
- :check
- if %1 neq %2 echo %3 %4 异常
- exit /b
复制代码
192.168.1.105 "GPU-Z 传感器日志" 异常
192.168.1.105 "hwmonitorw" 异常
192.168.1.105 "HWParams" 异常
请按任意键继续. . .
作者: 522235677 时间: 2014-5-15 12:54
http://www.bathome.net/viewthread.php?tid=22181&highlight=md5
md5文件在这下
作者: Numb_tiger 时间: 2014-5-15 21:04
回复 4# 522235677
具体怎么使用呢?能不能教一下,运行你给的代码没作用啊。
作者: 522235677 时间: 2014-5-16 23:40
回复 6# Numb_tiger
md5.exe放一起了吗
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |