Board logo

标题: [文件操作] [已解决]批处理怎么在IE缓存里提取指定的mp3文件? [打印本页]

作者: lixiaodaoaaa    时间: 2008-10-4 06:15     标题: [已解决]批处理怎么在IE缓存里提取指定的mp3文件?

呵呵,我是该论坛某个版面的斑竹。

参考这个帖子,http://bbs.netbarghost.com/viewt ... p;extra=&page=1
2 楼和4楼是我的发言,嘿嘿,不错吧。混成斑竹了。
我想把这个用批处理实现,想做成批处理,但没有成功,请求大狭给个代码,在下感谢了!

我们知道ie缓存的文件。它想下载歌曲,但是找不到连接。我提出的思路是到ie缓存里找
但是,这样找也是有点麻烦的,如果能从ie 缓存里提取,那不是更好吗?

补充资料:  ie 缓存的路径是 %userprofile%\Local Settings\Temporary Internet Files\
要提取的文件 *.mp3  文件
提取到目标位置是: 桌面
欢迎广大批处理爱好者写出自己的代码。

我反复写了几个代码都不成功。。郁闷中。。。
  1. md e:\hah
  2. pushd  "%userprofile%\Local Settings\Temporary Internet Files\"
  3. copy /e/y *.*   "%userprofile%\桌面\"
复制代码
并达不到我的目的,我苦恼中啊。。、
于是我写了如下代码。。用到了for  /r 貌似还是不好。。汗。。。
  1. @echo off
  2. color b0
  3. for /r %%a in (%userprofile%\Local Settings\Temporary Internet Files\) do copy %%a    "%userprofile%\桌面\"
复制代码
如果你把代码真的做出来了,以后在网上听到什么好听的音乐,就轻易的得到了。嘿嘿,
我的想法不错,希望大家写出代码了。谢谢了
作者: batman    时间: 2008-10-4 08:07

  1. @echo off
  2. if not exist %userprofile%\桌面\mp3 md %userprofile%\桌面\mp3
  3. for /f "delims=" %%i in ('dir /s /a-d /b "%userprofile%\locals~1\tempor~1\*.mp3"') do (
  4.      copy /y "%%i"  %userprofile%\桌面\mp3\
  5. )
复制代码

[ 本帖最后由 batman 于 2008-10-4 08:09 编辑 ]
作者: lixiaodaoaaa    时间: 2008-10-4 08:28     标题: batman大师 你再看下

测试出现这个怎么办?为什么会失败呢?
其实手动可以复制的
作者: pusofalse    时间: 2008-10-4 08:39

应该是copy时出问题了,copy /y "%%i"  "%userprofile%\桌面\mp3\" 改为这样试试。
作者: batman    时间: 2008-10-4 08:48     标题: 修改了下

  1. @echo off
  2. cd /d %userprofile%\桌面
  3. if not exist mp3 md mp3
  4. for /f "delims=" %%i in ('dir /s /a-d /b "%userprofile%\locals~1\tempor~1\*.mp3"') do (
  5.      copy /y "%%i" mp3\>nul
  6. )
  7. echo 完成&pause>nul
复制代码

[ 本帖最后由 batman 于 2008-10-4 08:51 编辑 ]
作者: lixiaodaoaaa    时间: 2008-10-4 09:02     标题: 问题已经解决,非常感谢batman 和pusofalse

问题已经解决,非常感谢batman 和pusofalse
问题已经解决,非常感谢batman 和pusofalse
作者: lixiaodaoaaa    时间: 2008-10-4 09:13     标题: 优化处理代码。哈哈,别告我侵权啊。

将代码优化了下,呵呵,还是你的代码,别告我侵权啊。

嘿嘿,不错。又在大师的指导下完成了一个作品,可以到论坛里旋一下了

谢谢batman  和 pursofalse 的热心指导



  1. @echo off
  2. color b0
  3. title  mp3文件提取器 by batman   =======哥本哈根优化处理
  4. @mode con cols=50 lines=20
  5. echo  按任意键进行提取 mp3
  6. echo.
  7. echo.
  8. echo.
  9. pause
  10. pushd %userprofile%\桌面\ & md mp3 >nul 2>nul
  11. echo.
  12. echo.
  13. echo.
  14. echo.
  15. echo  正在提取mp3文件请稍等.........
  16. for /f "delims=" %%i in ('dir /s /a-d /b "%userprofile%\locals~1\tempor~1\*.mp3"') do (
  17.    copy /y "%%i"  "%userprofile%\桌面\mp3\"  
  18. ) >nul
  19. exit
复制代码


http://bbs.netbarghost.com/redirect.php?tid=3974&goto=lastpost#lastpost
这个是netbarghost的地址,大家看下。。。感谢batman 和pursofalse的指导
作者: kousei    时间: 2009-3-1 16:24

我是新手,刚才用超级版主的代码试了一下。没有成功。我查了一下,原来缓存中不是mp3格式。自己试着把代码改为wma格式。成功了。兴奋啊。
现在有个问题。如果想在缓存中同时查找并提取mp3和wma格式。怎样改代码?谢谢阿
作者: jellyhk    时间: 2009-3-1 16:31

简单啊!苯点的办法就是你在copy下原代码!把mp3改wma那2段代码都能运行了撒!呵呵

就是麻烦了!!!
作者: kousei    时间: 2009-3-1 18:27

我现在对代码还不太熟悉。尤其是一行就只有一个括号。不知道什么意思。
for /f "delims=" %%i in ('dir /s /a-d /b "C:\Docume~1\zhao\locals~1\tempor~1\*.mp3"') do (
     copy /y "%%i" mp3\>nul
)
for /f "delims=" %%i in ('dir /s /a-d /b "C:\Docume~1\zhao\locals~1\tempor~1\*.wma"') do (
     copy /y "%%i" mp3\>nul
)
这样可以使用么?
作者: Batcher    时间: 2009-3-1 19:21     标题: 回复 10楼 的帖子

一行就只有一个括号,没有什么特殊意思。只是这样可能增加代码的可读性、易维护性,好的程序员应该养成这样的代码风格。
作者: kousei    时间: 2009-3-1 21:13

还没有请教。像上面那样的写法可以行得通么?我还没有试。
连着看两天的批处理基础东西。头好大阿。不过收益匪浅阿。
作者: Batcher    时间: 2009-3-1 22:12     标题: 回复 12楼 的帖子

多试试才会有更多收获,别人告诉你的不一定正确。
作者: kousei    时间: 2009-3-2 17:11

谢谢忠告。
继续努力中。
作者: 愚无尽    时间: 2009-3-2 19:38

原帖由 kousei 于 2009-3-1 16:24 发表
我是新手,刚才用超级版主的代码试了一下。没有成功。我查了一下,原来缓存中不是mp3格式。自己试着把代码改为wma格式。成功了。兴奋啊。
现在有个问题。如果想在缓存中同时查找并提取mp3和wma格式。怎样改代码?谢 ...
  1. 把('dir /s /a-d /b "%userprofile%\locals~1\tempor~1\*.mp3"') ”
复制代码
改为:
  1. cd/d "%userprofile%\locals~1\tempor~1"
  2. for /f "delims=" %%i in ('dir /s /a-d /b  *.mp3 *.wma *.wav *.swf 2^>nul') do (
  3.    copy /y "%%i"  "%userprofile%\桌面\mp3\" 2>nul
  4. )
复制代码


根据随风版主的提示,就更新一下了。。。

[ 本帖最后由 愚无尽 于 2009-3-2 21:17 编辑 ]
作者: 52mn998    时间: 2009-3-27 19:40

正要找这种工具,我来试试看




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2