标题够醒目了 方便大家查找
第一步 搜索批处理所在目录里的图片文件 暂定为 *.PNG 类型且文件不只一个 即可以多个 然后 输出一个包含有图片完整路径的 BGlist.txt 文件列表 方便第三部的提取
第一步搞定- @echo off&setlocal enabledelayedexpansion
- if exist BGList.txt del /f /q /a BGList.txt
- for /f "tokens=*" %%i in ('dir /a /b /s "*.PNG"') do echo "%%~fi" >>BGList.txt
- exit
复制代码 第二步 搜索全盘 不包含desktop.ini文件的目录 并导出列表FList.txt (注:即使某个文件夹里有 desktop.ini 这个文件 但是这个文件夹的子文件夹里没有 desktop.ini 这个文件 也仍然输出 子文件夹的完整路径 而不输出有 desktop.ini 文件的文件夹路径)
第二步搞定- @echo off&setlocal enabledelayedexpansion
- if exist Flist.txt del /f /q /a Flist.txt
- 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 echo "%%j">>Flist.txt)
- exit
复制代码 第三步 把第二步导出的文本里 所有文件夹都加上 系统属性 即 (attrib +s "路径") 然后在所有的文件夹里 输出一个 desktop.ini 文件 文件输出完后 加上 attrib +s +h +r 属性 内容为- [{BE098140-A513-11D0-A3A4-00C04FD706EC}]
- IconArea_Image=从第一步输出的BGList.txt图片路径中 随机提取一行 写入=号后面
复制代码 第四步 工作到此基本完了 现在的工作是做一个逆向操作的批处理 即 取消第三步设置的文件夹的系统属性 attrib -s 然后 删除第三步输出的 desktop.ini 文件 第四步可以调用第二步输出的FList.txt文本
第四步搞定- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%i in (FList.txt) do if exist %%i\desktop.ini del /f /a /q %%i\desktop.ini & attrib -s %%i
- exit
复制代码 这样全盘文件都有背景了
[ 本帖最后由 hmlstfqtl 于 2010-4-22 23:56 编辑 ] |