Board logo

标题: [文件操作] 求解文件比较批处理命令 [打印本页]

作者: netdzb    时间: 2020-4-3 11:29     标题: 求解文件比较批处理命令

目录下有 01ubutun.bin
              02ubutun.bin
              03ubutun.bin
              04ubutun.bin
              .....
还有
              01linux.bin
              02linux.bin
              03linux.bin
              04linux.bin
              .....
依次对各序号进行比较。
每个文件大小相等,要求打印出不同文件序列。
比较不同的命令本坛的刘版的帖子有所提供。
我就是文件名传递不会处理?

又比如文件是这种格式批处理又该怎么写?

目录下有 001ubutun.bin
              002ubutun.bin
              003ubutun.bin
              004ubutun.bin
              .....
还有
              001linux.bin
              002linux.bin
              003linux.bin
              004linux.bin
              .....

问题提了这么多,大家给点提示,谢谢!
作者: Batcher    时间: 2020-4-3 11:49

回复 1# netdzb


第一种情况.bat
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "delims=" %%a in ('dir /b /a-d *ubutun.bin') do (
  4.     set "sizeU=%%~za"
  5.     set "fileU=%%a"
  6.     set "fileL=!fileU:~0,2!linux.bin"
  7.     for %%i in ("!fileL!") do (
  8.         set sizeL=%%~zi
  9.     )
  10.     if "!sizeU!" equ "!sizeL!" (
  11.         echo !fileU! 相同 !fileL!
  12.     ) else (
  13.         echo !fileU! 不同 !fileL!
  14.     )
  15. ))>"结果.txt"
复制代码

作者: netdzb    时间: 2020-4-3 11:57

本帖最后由 netdzb 于 2020-4-3 11:58 编辑

回复 2# Batcher

初始文件大小固定一致的,我不是要比较文件的大小。
我要把用把fc/b  |findstr命令把不同的文件序列打印出来。
我要比较出文件内容的不同,该怎么改?

批处理我还是学的不是最好,python也在学习中,谢谢。
作者: netdzb    时间: 2020-4-3 12:05

回复 2# Batcher

set "fileL=!fileU:~0,3!linux.bin"

后面一种情况是这样写吧?
作者: Batcher    时间: 2020-4-3 12:24

回复 3# netdzb


testFC.bat
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "delims=" %%a in ('dir /b /a-d *ubutun.bin') do (
  4.     set "fileU=%%a"
  5.     set "fileL=!fileU:~0,2!linux.bin"
  6.     fc /b "!fileU!" "!fileL!" >nul 2>&1
  7.     if errorlevel 1 (
  8.         echo !fileU! 不同 !fileL!
  9.     ) else (
  10.         echo !fileU! 相同 !fileL!
  11.     )
  12. ))>"结果.txt"
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2