本帖最后由 lujice 于 2012-2-5 12:16 编辑
回复 3# cjiabing
有两段代码不懂,麻烦斑竹逐句解释一下,我太笨!!- if %input%==2 set "type=*.jpg *.jpeg *.gif bmp *.png *.tiff *.PSD"&goto _TREE
复制代码
- :_TREE
- if not exist "%~dp0GetTmp" md "%~dp0GetTmp"
- for /d %%a in ("%userprofile%\Local Settings\Temporary Internet Files\Content.IE5\*") do (
- echo:%%a&cd /d %%a
- for /r %%i in (%TYPE%) do (
- if exist "%~dp0GetTmp\%%~na" (Xcopy /s /y "%%~i" "%~dp0GetTmp\%%~na") else (md "%~dp0GetTmp\%%~na"&Xcopy /s /y "%%~i" "%~dp0GetTmp\%%~na")
- )
- )
- cd /d %~dp0
- cls&dir /b "%~dp0GetTmp"
- pause&goto start
复制代码 不过我感觉,斑竹的代码还可以精简!!
因为复制文件,不用判断“最后存放目录”是否存在;也不用专门写代码建立“最后存放目录”。
比如这段简单的代码——- @echo off
- cls&echo.&echo. 正在提取 MP3 文件...
- echo.&xcopy "%UserProfile%\Local Settings\Temporary Internet Files\Content.IE5\*.MP3" "%CD%\IE缓存\MP3文件\" /S /Q /H /Y /C
- ping 127.0.0.1 -n 3 >nul 2>nul
- exit
复制代码 注意——把"%CD%\IE缓存\MP3文件\",写作"%CD%\IE缓存\MP3文件",批处理就不能自动建立“最后存放目录”了!!
其中的变量%CD%,是系统默认的批处理当前目录。请看——- @echo off
- echo.&echo. 当前盘符:%~d0
- echo.&echo. 当前盘符和路径:%~dp0
- echo.&echo. 当前批处理全路径:%~f0
- echo.&echo. 当前盘符和路径的短文件名格式:%~sdp0
- echo.&echo. 当前CMD默认目录:%cd%
- echo.&pause
- exit
复制代码
|