回复 4# Batcher
回复 5# terse
感谢大神们的回复,下面是我修改后的代码:- @echo off&setlocal enabledelayedexpansion
- set "ph=c:\rar"
- set "file=test.doc"
- for /f "tokens=*" %%i in ("C:\Program Files\WinRAR\Rar.exe") do set "rar=%%~si"
- for /f "tokens=*" %%a in ('dir /b/a-d "%ph%\*.rar"') do (
- for /f "tokens=7" %%i in ('%Rar% v "%ph%\%%a" ^| findstr /ierc:"%file%"') do (
- echo;%%a CRC32: %%i
- )
- )
复制代码 执行后得到结果:
1.rar CRC32: 8C91CF13 (这个是目录test\doc\1.doc)
1.rar CRC32: C8138FF6 (这个是目录test\doc123\2.doc)
已经能正确得到结果了.
那么如何自动判断,如果CRC等于8C91CF13 就自动更新rar中的test\doc\1.doc文件呢?
其中:test\doc\1.doc这个地址,可以利用for /f "tokens=8" %%i in 来获取. |