Board logo

标题: [已结](难题)怎样用BAT查找被加密过的文件头RAR的文件 [打印本页]

作者: cad55     时间: 2009-4-7 23:52    标题: [已结](难题)怎样用BAT查找被加密过的文件头RAR的文件

怎样用BAT查找被加密过的文件头RAR的文件
(注意:不非是扩展名显示为RAR的文件)
而是真正的RAR文件。

并后成TXT列表。(路径与名称)

[ Last edited by cad55 on 2009-4-13 at 00:12 ]
作者: tireless     时间: 2009-4-8 03:12

findstr /bm "Rar!" * > RarFiles.txt

作者: cad55     时间: 2009-4-8 03:44
先谢一下,
不过,没有用,

要显示出密码保护的RAR文件.
也就是被加密过的文件名,列表
作者: tireless     时间: 2009-4-8 04:26
看错了,我以为你只找 rar 文件。试试这个:
@echo off
(for /f "delims=" %%a in ('findstr /sbm "Rar!" *') do (
  rar t -inul "%%a"<nul||echo %%a
))>加了密码的Rar文件.txt

作者: cad55     时间: 2009-4-8 04:33
还是没有用,
与第一个,一样

列出所有RAR的名称....
作者: tireless     时间: 2009-4-8 04:41
改成这样:

  Quote:
@echo off
(for /f "delims=" %%a in ('findstr /sbm "Rar!" "%cd%\*"') do (
  rar t -inul "%%a"<nul||echo %%a
))>加了密码的Rar文件.txt


作者: cad55     时间: 2009-4-8 04:54
还是没有用,
与第一个,一样

列出所有RAR的名称.... (绝对路径显示)
作者: tireless     时间: 2009-4-8 05:09    标题: Re 7楼

是否是要这样的结果:

加了密码的Rar文件.txt

  Quote:
g:\我的文档\桌面\Y.rar
g:\我的文档\桌面\复件 yy.cndos
g:\我的文档\桌面\yy.rar
g:\我的文档\桌面\新建文件夹\复件 复件 yy.rar
g:\我的文档\桌面\新建文件夹\复件 yy.rar2

把其中的 rar 改成完整路径,如 "C:\Program Files\WinRAR\rar.exe"
作者: cad55     时间: 2009-4-8 05:18


  Quote:
Originally posted by tireless at 2009-4-8 05:09 AM:
是否是要这样的结果:

加了密码的Rar文件.txt


把其中的 rar 改成完整路径,如 "C:\Program Files\WinRAR\rar.exe"

关于列表的显示方式,无所谓

关键是查找出,被加密过的RAR文件。

兄台所写的代码,是查找出所有的RAR文件,并出列表。。。。。

全部的需求如下:

全盘查找,真正的RAR文件,(不论是扩展名是RAR还是改写的其它扩展名的)
列出其中,被加密过的RAR文件名。
(与卡巴杀毒时,提示有“密码”保护的效果相同)
作者: tireless     时间: 2009-4-8 05:33    标题: Re 9楼

6 楼代码会把没有加密码的 rar 文件也找出来?我测试的结果是只找出加了密码的...
作者: cad55     时间: 2009-4-8 05:37


  Quote:
Originally posted by tireless at 2009-4-8 05:33 AM:
6 楼代码会把没有加密码的 rar 文件也找出来?我测试的结果是只找出加了密码的...

是所有的RAR列表


请兄台再测试一下。。。
作者: tireless     时间: 2009-4-8 05:47
那就奇怪了,

我这找出来的都是加了密码的,

你那却全找出来了...

[ Last edited by tireless on 2009-4-8 at 05:59 ]
作者: Hanyeguxing     时间: 2009-4-12 02:12
经过加密的rar文件的文件头和未加密的不一样:
加密的文件头是:52 61 72 21 1A 07 00 CE 99 73 80 00
没加的文件头是:52 61 72 21 1A 07 00 CF 90 73 00 00
作者: wuwei1dai     时间: 2009-4-12 07:32
怎么我加密了的文件头还是:52 61 72 21 1A 07 00 CF 90 73 00 00
作者: freeants001     时间: 2009-4-12 08:15
同上
52 61 72 21 1A 07 00 CF  90 73 00 00 0D 00 00 00

作者: freeants001     时间: 2009-4-12 08:40
这样可以
path=%path%;C:\Program Files\winrar
for /r %%i in (*.rar) do @rar t "%%~i"<nul>nul||echo %%~i>>rar加密文件.txt

作者: cad55     时间: 2009-4-12 22:10


  Quote:
Originally posted by freeants001 at 2009-4-12 08:40 AM:
这样可以
path=%path%;C:\Program Files\winrar
for /r %%i in (*.rar) do @rar t "%%~i"<nul>nul||echo %%~i>>rar加密文件.txt

测试了一下:可以显示被加密过的RAR文件,列表。

谢谢了。。

但,被用户有意更改后的扩展名,的真正RAR文件,还是不能显示。。。

还请研究一下
作者: everest79     时间: 2009-4-12 22:49
扩展名换了不就行了
作者: cad55     时间: 2009-4-12 22:54


  Quote:
Originally posted by everest79 at 2009-4-12 10:49 PM:
扩展名换了不就行了

是呀,怎样才能像:杀毒软件一样,查找呀
作者: cad55     时间: 2009-4-12 22:55


  Quote:
Originally posted by cad55 at 2009-4-12 10:54 PM:


是呀,怎样才能像:杀毒软件一样,查找呀

查找文件头,应该是可以实现的。。。
作者: freeants001     时间: 2009-4-12 23:04


  Quote:
测试了一下:可以显示被加密过的RAR文件,列表。

谢谢了。。

但,被用户有意更改后的扩展名,的真正RAR文件,还是不能显示。。。

还请研究一下

结合以下2楼的代码不就解决了~~~
作者: cad55     时间: 2009-4-12 23:08


  Quote:
Originally posted by freeants001 at 2009-4-12 11:04 PM:


结合以下2楼的代码不就解决了~~~

结合过了,,,俺没有搞成功。。。。
作者: freeants001     时间: 2009-4-12 23:13

path=%path%;C:\Program Files\winrar
findstr /bm "Rar!" * > RarFiles.txt
for /f "delims=" %%i in (RarFiles.txt) do @rar t "%%~i"<nul>nul||echo %%~i>>rar加密文件.txt

作者: cad55     时间: 2009-4-12 23:41


  Quote:
Originally posted by freeants001 at 2009-4-12 11:13 PM:
[code]path=%path%;C:\Program Files\winrar
findstr /bm "Rar!" * > RarFiles.txt
for /f "delims=" %%i in (RarFiles.txt) do @rar t "%%~i"<nul>nul||echo %%~i> ...

分检列表后,就对加密文件无法再判处断。。。为什么呀。。。
作者: hhasee     时间: 2009-4-12 23:43
顶一下!
作者: cad55     时间: 2009-4-13 00:05


  Quote:
Originally posted by cad55 at 2009-4-12 11:41 PM:



分检列表后,就对加密文件无法再判处断。。。为什么呀。。。

谢谢楼上诸位
这样就可以解决了:

findstr /bm "Rar!" * > RarFiles.txt
path=%path%;C:\Program Files\winrar
for /f "delims=" %%i in (RarFiles.txt) do @rar t "%%~i"<nul>nul||echo %%~i>>rar加密文件.txt



[ Last edited by cad55 on 2009-4-13 at 00:13 ]