找回密码
 加入
搜索
查看: 9379|回复: 14

[IE类操作] 关于IE缓存提取器

  [复制链接]
发表于 2011-5-6 01:22:01 | 显示全部楼层 |阅读模式
论坛的兄弟们,不知你们有否像我这样,经常要下载网上的某些在线视频,,因为网上没有下载地址,只好到IE临时文件夹寻找。。IE文件又特多,一找就是老半天。。

我到网上搜索一下,,发现有一些类似的工具,,可以按后缀名 来提取 IER 缓存文件,,比如,我选 的是.flv,它就能帮我把所有临时文件夹里的 .flv文件提取到指定的文件夹。真是太强大了。。

这些工具都不是用AU3写的,我就想,不知道咱们AU3能否也写出这样的工具。。要怎样才能写出来。。

求教了!!!



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2011-5-6 01:25:06 | 显示全部楼层
@echo off&mode con cols=56 lines=2&color 1a&SETLOCAL ENABLEDELAYEDEXPANSION
title 临时文件提取至当前目录并放入剪贴版 -定制版-风哥制作-
cd /d %~dp0
echo.
echo 按您的要求正查找中,请稍等...

::这里是源路径
set p=C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files\Content.IE5\

::这里是规定文件大小,dx1为最小范围 dx2为最大范围 以MB为单位可以精确至最小数点后面两位数值
set dx1=0.2
set dx2=50

::以下变更 mz 为设置查找复制的文件类型,及存放到该类型的目录中
set mz1=flv

::------------------以下是计算dx值---不用管了------------------
mshta vbscript:createobject("scripting.filesystemobject").opentextfile("dx1t",2,true).writeline(%dx1%*1024*1024)(window.close)
for /f "delims=" %%i in (dx1t) do set dx1=%%i
if not defined dx1 (set dx1=0)
del dx1t
mshta vbscript:createobject("scripting.filesystemobject").opentextfile("dx2t",2,true).writeline(%dx2%*1024*1024)(window.close)
for /f "delims=" %%i in (dx2t) do set dx2=%%i
del dx2t
::======================E N D==========================

if not exist %mz1% (md %mz1%)

::这里是根据条件查找文件
for /f "delims=" %%i in ('dir "%p%\*.%mz1%"  /a  /b /s') do (call :jx  %%~zi  "%%i")
echo 操作完成,程序将退出...

::下面是将COPY后的文件复制至 剪贴版中(可复制文件夹)
call :copyto "%~dp0%mz1%\*.%mz1%"
exit /b

:jx
cls
if %1 gtr %dx1%  (
     if  %1 lss %dx2%  (
        xcopy /y %2 "%~dp0%mz1%"
        )
  )
goto :eof

:copyto
setlocal
set "f=%~1"
set "f=%f:\\=\%"
set "f=%f:\=\\%"
mshta "javascript:moveTo(screen.width,0);document.write('<img id=\'x\' src=\'%f%\'>');i=document.body.createControlRange();i.add(x);i.execCommand('copy');close()"
goto :eof
这是用批处理写的,,很强大,不过,,操作不是很方便。。也没有个GUI界面,,对菜鸟来说,太过复杂。。

不知谁有办法用AU3实现,,,两个按钮,,直接选择 后缀名,,点击确定,然后就能自动提取相关的文件到桌面,,多帅呀!!!

唉,可惜自己没有这样的技术~!!!
发表于 2011-5-6 07:31:35 | 显示全部楼层
回复 2# lxsh010

你看看WinINet函数吧~~
发表于 2011-5-6 11:21:11 | 显示全部楼层
去看看
FileFindFirstFile
FileFindNextFile
FileGetAttrib
的示例
发表于 2011-5-6 16:45:46 | 显示全部楼层
用API也许就能实现
发表于 2011-5-6 17:01:31 | 显示全部楼层
引用了VBS,看来还得学学VBS
 楼主| 发表于 2011-5-7 04:03:26 | 显示全部楼层
谢谢楼上的朋友。开始折腾啦。。
 楼主| 发表于 2011-5-7 04:03:35 | 显示全部楼层
谢谢楼上的朋友。开始折腾啦。。
发表于 2011-5-7 04:32:14 | 显示全部楼层
本帖最后由 netegg 于 2011-5-7 04:38 编辑

这不就是按扩展名搜索临时文件夹吗
    _Seachfilebyext('temp....', '.flv')
    Func _Seachfilebyext($current, $ext)
            Local $search = FileFindFirstFile($current & "\*.*")
            While 1
                    Dim $file = FileFindNextFile($search)
                    If @error Or StringLen($file) < 1 Then ExitLoop
                    If Not StringInStr(FileGetAttrib($current & "\" & $file), "D") And ($file <> "." Or $file <> "..") Then
                            If StringRight($current & "\" & $file, StringLen($ext)) = $ext Then
                                    filemove($current & "\" & $file, 'c:\flv\' & $file, 8)
                            EndIf
                    EndIf
                    If StringInStr(FileGetAttrib($current & "\" & $file), "D") And ($file <> "." Or $file <> "..") Then
                            _Seachfilebyext($current & "\" & $file, $ext)
                    EndIf
            WEnd
    EndFunc   ;==>_Seachfilebyext
 楼主| 发表于 2011-5-7 15:25:58 | 显示全部楼层
@echo off
color 0a
mode con lines=26 cols=56
rem 此处进行iepath的预定义。
rem iepath为IE缓存的路径,下面是系统默认值,可根据需要修改
rem 我个人设置为了 iepath="E:\临时文件\Temporary Internet Files"
set iepath="%userprofile%\Local Settings\Temporary Internet Files"
set root=%iepath:~1,2%
:main
title [IE缓存文件提取工具]-For verybat
echo.
echo   ======================================================
echo                 ** IE缓存文件提取工具 **
echo    本工具用于去除系统限制,提取IE缓存中的任意文件
echo ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
echo   (1) 打开IE缓存(默认)
echo     ==直接去除系统限制,自己查找所需文件==
echo   (2) 清理IE缓存
echo     ==上网时间久了,清理缓存会节省不少硬盘空间==
echo   (3) 提取IE缓存中的flv文件
echo     ==自动搜索缓存中的flv文件并移动到.flv目录==
echo   (4) 提取IE缓存中的swf文件
echo     ==自动搜索缓存中的swf文件并移动到.swf目录==
echo   (5) 自定义提取文件
echo     ==自己设定搜索文件类型,并移动到相应目录==
echo   (6) 查看说明
echo     ==想了解更多,就看看这个吧==
echo   (q) 退出
echo.
set CHS=1
set /P CHS= 请选择一个项目,回车继续!
echo.
if /I "%CHS%"=="1" goto :openie
if /I "%CHS%"=="2" goto :delie
      
if /I "%CHS%"=="3" set exts=flv & goto :ext
            
if /I "%CHS%"=="4" set exts=swf &goto :ext
            
if /I "%CHS%"=="5" goto :extset
      
if /I "%CHS%"=="6"   goto :readme
      
if /I "%CHS%"=="q" goto :end
echo ~_~不会吧,这都选错?!请回车后重试!
echo.
pause >nul
cls
goto main
:openie
title [打开IE缓存]
echo.
echo 正在打开缓存,请稍候……
%root%
cd %iepath%
ATTRIB . -S -H -R -A /S /D >nul 2>nul
ATTRIB * -S -H -R -A /S /D >nul 2>nul
start .
cls
echo 请查看IE缓存!
goto main
:delie
title [清理IE缓存]
echo.
echo 正在清理缓存,请稍候……
del /f /s /q %iepath%\Content.IE5\*.* >nul 2>nul
del /f /s /q %iepath%\Content.IE5\* >nul 2>nul
rd %iepath% /s /q
cls
echo IE缓存清理完毕!
GOTO main
:extset
echo.
set /p exts= 请输入一种你想提取的文件的扩展名,如GIF:
if "%exts%"=="" echo 扩展名不能为空,请重设! &goto extset
:ext
echo.
title [提取%exts%文件]
echo 正在提取%exts%文件,请稍候……
%root%
cd %iepath%
ATTRIB . -S -H -R -A /S /D >nul 2>nul
ATTRIB * -S -H -R -A /S /D >nul 2>nul
if not exist %root%\.%exts% md %root%\.%exts%
for /r . %%i in (*.%exts%) do move /Y "%%i" %root%\.%exts%
rd %root%\.%exts% >nul
cls
IF EXIST %root%\.%exts% (
    echo %exts%文件已经提取,并放在%root%\.%exts%目录下!
    start %root%\.%exts%
) ELSE (
    echo %exts%文件没有发现!你可以尝试提取其他格式文件。
)
GOTO main
:readme
cls
title [使 用 说 明]
color ce
echo             [使 用 说 明]-By maztgo
echo.
echo    我们浏览网页时所产生的文件都会存放进一个叫做
echo Temporary Internet Files的文件夹,这就是IE缓存。
echo 在这个文件夹里我们就能够轻松获得无法下载的文件!
echo 然而,出于安全性考虑,这个文件夹是由系统管理的,
echo 我们不能打开、查看、复制和移动文件,这个工具就是
echo 用来解除这些限制的,现在你就随心所欲的获得网页里
echo 使用过的flv,swf,mp3,wmv,rm,gif,jpg,bmp,png,js吧!
echo. 
echo    在开始写这个工具之前我特地上网查了相关软件,
echo 结果找到了三个。但是都不合适:"废客IE资源提取器"
echo 不能自定义缓存路径;"彩虹IE缓存探宝"稳定性不佳,
echo 关闭时会弹出广告并卡死;"缓存拾贝"功能较多,但是
echo 搜索时容易出错,操作有些繁琐,不能移动缓存的文件。
echo 最终还是决定用批处理自己写一个,虽然界面丑了点,
echo 但是功能专业、使用方便,程序大小还不到5K。
echo. 
echo    建议在第一次使用时先清理IE缓存,然后浏览网页,
echo 这样提取浏览网页产生的缓存文件时会比较快一些。
echo. 
echo    我的邮箱是 maztgo@gmail.com,有疑问可以联系。
echo.
echo     按任意键返回主界面……
pause >nul
cls
goto :main
:end 
exit

rem 所有版权,属于maztgo,如有修改,版权不究。
rem 程序完成时间:2007年11月15日
扩展知识:
   常见的网页中的文件格式:flv swf mp3 rm asf asx smi wma mid ape ra jpg jpeg gif tif tiff png bmp ico ani cur rar zip htm html shtml xml asp aspx php php3 txt css cdf js vbs cgi ini ……
history:
2007年11月29日   修正了没有提取到相应文件时就会存在一个空目录的问题。
2008年 7月18日   略加修改,发布在 http://bbs.verybat.cn 上。
自己试了一下,貌似不行。。这个是另一个批处理。。

不知哪位达人,能将之做成 AU3

谢谢!!!
 楼主| 发表于 2011-5-8 17:41:39 | 显示全部楼层
唉。。还是不懂得。。怎样才能复制出来。
发表于 2011-5-8 18:50:05 | 显示全部楼层
批处理去找专门的论坛贴,语法都不一样,非要往上套,索性直接玩批处理算了,何必这么麻烦
 楼主| 发表于 2011-5-8 19:36:36 | 显示全部楼层
回复 12# netegg

朋友,我只是想用AU3写一个 IE缓存提取的工具,,结果搜索到的都是批处理的。。

批处理我看不大懂,就发过来,,只是觉得 用AU3的原理应该也是一样的。。

如果有谁愿意帮助,我愿支付100论币

谢谢!!!
发表于 2011-5-8 20:02:14 | 显示全部楼层
回复 13# lxsh010


兄弟,我不是写了吗,你用filecopy改改就O了
发表于 2011-5-9 07:04:13 | 显示全部楼层
本帖最后由 netegg 于 2011-5-9 07:06 编辑

回复 13# lxsh010

差远了
好久没用过ie了,缓存的格式有文件名吗?如果有,试试给你的那段代码,看能不能找出来,如果不是的话就要换方法了,暂且不说了,省得乱了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-13 14:09 , Processed in 0.079772 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表