- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /a-d /b /s "*.png"') do call:han "%%~fi"
- for /F "tokens=1,2* delims==:" %%i in ('set han_^|findstr /n .*') do set "BG_%%i=%%k"&set ye_BG=%%i
- for /f "skip=4" %%i in ('mountvol^|find ":"') do for /f "delims=" %%j in ('dir /s /b /ad "%%i" 2^>nul') do if not exist "%%j\desktop.ini" set "xing_%%j=="
- for /F "tokens=1,2* delims==:_" %%i in ('set xing_^|findstr /n .*') do set a=%%k&set "Fl_%%i=!a:~0,-2!"&set ye_Fl=%%i
- for /l %%i in (1,%ye_BG%,%ye_Fl%) do for /l %%j in (1,1,%ye_BG%) do set/a "gu=%%i-1+%%j"&call set "gu=%%Fl_!gu!%%"&if not defined gu (goto :xing) else (attrib +s "!gu!"
- >>"!gu!\Desktop.ini" echo.[{BE098140-A513-11D0-A3A4-00C04FD706EC}]
- >>"!gu!\Desktop.ini" echo.IconArea_Image=!BG_%%j!
- attrib -s "!gu!")
- :xing
- exit
- :han
- set han=%random%%random%%random%
- if "!han_%han%!"=="" (set "han_%han%=%~1") else goto:han
复制代码 1,本批处理不产生临时文件,所需内容全部定义为变量
2,由于大量操作,所以批处理中尽量少使用set/a以加快运行速度
[ 本帖最后由 hanyeguxing 于 2010-4-20 06:36 编辑 ] |