@ECHO OFF
SETLOCAL EnableDelayedExpansion
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
:: 需要区别FAT32和NTFS格式下的回收站
::
:: FAT32回收站结构如下:
::
:: [Recycled]
:: desktop.ini
:: INFO2
::
:: NTFS回收站结构如下:
::
:: [Recycler]
:: [S-1-5-21-1409082233-448539723-725345543-500]
:: desktop.ini
:: INFO2
:: [S-1-5-21-1844237615-2139871995-1417001333-500]
:: desktop.ini
:: INFO2
:: [S-1-5-21-606747145-261478967-839522115-500]
:: desktop.ini
:: INFO2
::
:: 其中:
::
:: desktop.ini用来定义文件夹,告诉系统:你把存我的文件夹变成回收站的样子
::
:: INFO2用来存放当前盘符下删除的文件的原来路径,用8.3短文件名,以及与改名文件对应关系
::
:: 我们就是用的INFO2文件,将里面存放的信息通过两次查找过滤出来
::
:: 重点:
::
:: FIND.EXE ":" "C:\Recycled\INFO2" 2>NUL | FINDSTR.EXE /R "^[A-z]:[\\]" 2>NUL
::
:: 参考:
::
::
http://www.cn-dos.net/forum/viewthread.php?tid=25053&fpage=1&highlight=tokens%3D1%2B&page=1
::
:: 感谢:
::
:: 中国DOS联盟论坛里所有给予我启发的热心人!使我受益匪浅!
::
:: Author: NeedJava
::
:: Modified: 2007.08.13
::
:: BTW: 今晚23时东北方向有英仙座流星雨,我已经调好照相机了
::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
DEL /F /Q deleted.txt 2>NUL
FOR %%a IN ( C D E F G H I J K L M N O P Q R S T U V Y X Y Z ) DO (
IF EXIST "%%a:\" (
ECHO 正在搜索〔%%a:〕盘下的回收站……
FOR /F "delims=" %%i IN ( 'DIR /AH-D /B /S "%%a:\Recycler\INFO2" 2^>NUL' ) DO (
REM ECHO [%%i] & PAUSE
CALL :parse %%i
)
FOR /F "delims=" %%I IN ( 'DIR /AH-D /B /S "%%a:\Recycled\INFO2" 2^>NUL' ) DO (
REM ECHO [%%I] & PAUSE
CALL :parse %%I
)
)
)
@ECHO ON
GOTO :EOF
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
:: 重点:
::
:: FIND.EXE ":" "C:\Recycled\INFO2" 2>NUL | FINDSTR.EXE /R "^[A-z]:[\\]" 2>NUL
::
:: 详细解释请关注上面的网站,无奈何版主的叙述,呵呵,本人坐板凳听
::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:parse
ECHO [%1]>>deleted.txt
FOR /F "delims=" %%m IN ( 'FIND.EXE ":" "%1" 2^>NUL ^| FINDSTR.EXE /R "^[A-z]:[\\]" 2^>NUL' ) DO (
ECHO %%m>>deleted.txt
)
ECHO.>>deleted.txt
后记,鉴于很多病毒喜欢往回收站里面钻,通过查找真正被删除的文件列表,找到对应的删除文件,那么剩下的文件可以看着办了,估计先要用IS杀掉进程
posted on 2007-08-13 15:55
NeedJava 阅读(1208)
评论(0) 编辑 收藏 所属分类:
DOS Windows