[code=bat]
@ECHO off
:head
title 批量提取IE缓存中指定类型的文件
color 3f
cls
:init
set fileType=
set saveDir=
set choice=
:inputType
echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
echo.
echo 请输入你要复制的文件类型,例如你要提取jpg文件,则输入jpg
echo 你也可以同时输入多个类型用逗号分隔开,例如jpg,txt,swf则提取
echo jpg,txt,swf这三种文件。
echo.
echo 注意:如果要复制所有文件的话,请输入*,如果不输入的话,则复制all。
echo.
echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
echo.
set /p fileType=[文件类型:]
if /i "%fileType%"=="" set fileType=*
if /i "%fileType%"=="*" (
rem 判断是否已经存在 all.nobird 这个临时文件,如果存在就删除它
if EXIST all.nobird del all.nobird
) else (
for /d %%i in (%fileType%) do (
rem 判断是否已经存在 %%i.nobird 这个临时文件,如果存在就删除它
if exist %%i.nobird del %%i.nobird
)
)
:listFiles
rem 显示显示提示信息
echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
echo.
echo 正在读取文件列表,请稍候...
echo.
echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
if /i "%fileType%"=="*" (
rem 用dir命令列出IE临时文件夹里all文件,并把结果保存到 all.nobird 这个文件中,
rem 以备后用。
dir "%userprofile%\Local Settings\Temporary Internet Files\*.*" /s /a /b>>all.nobird
) else (
for /d %%i in (%fileType%) do (
rem 用dir命令列出IE临时文件夹里所有文件,并把结果保存到 %%i.nobird 这个文件中,
rem 以备后用。
dir "%userprofile%\Local Settings\Temporary Internet Files\*.%%i" /s /a /b>>%%i.nobird
)
)
rem 清除屏幕
cls
:inputDir
cls
echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
echo.
echo 文件列表读取完毕,请输入目标路径,这些文件就会提取到指定目录。
echo.
echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
set /p saveDir=[目标目录:]
rem 判断是否已经存在 %saveDir% 这个目录,如果不存在就创建这个目录。
if not exist "%saveDir%" goto :checkMD else goto copyFile
:checkMD
cls
echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
echo.
echo 您输入的目录不存在,要创建吗?
echo.
echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
set /p choice=[Y(创建),N(退出)]
if /i "%choice%"=="y" md %saveDir%&goto :copyFile
if /i "%choice%"=="n" exit
goto :inputDir
:copyFile
rem 用for命令读取由dir命令生成的文件列表,然后用copy命令复制到 IE临时文件
rem 这个目录下。
if /i "%fileType%"=="*" (
for /f "tokens=* delims= " %%j in ('more all.nobird') do (
cls
rem 显示提示信息
echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
echo.
echo 正在复制,请稍候...
echo.
echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
rem 复制文件并用 1>nul 把命令的执行情况隐藏
if not exist "%saveDir%\all" md "%saveDir%\all"
copy "%%j" "%saveDir%\all\" 1>nul
)
if exist all.nobird del all.nobird
) else (
for /d %%i in (%fileType%) do (
for /f "tokens=* delims= " %%j in ('more %%i.nobird') do (
cls
rem 显示提示信息
echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
echo.
echo 正在复制,请稍候...
echo.
echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
rem 复制文件并用 1>nul 把命令的执行情况隐藏
if not exist "%saveDir%\%%i" md "%saveDir%\%%i"
copy "%%j" "%saveDir%\%%i\" 1>nul
)
if exist %%i.nobird del %%i.nobird
)
)
:over
cls
rem 显示提示信息
echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
echo.
echo 复制完毕,按任意键退出...
echo.
echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
PAUSE>nul[/code]
转载请注明:鸟儿博客 » 批量提取IE缓存中指定类型的文件