OK,这是我找到的代码,还是蝗虫提供的
-
- rem 随机的,不停地变换桌面背景
- cd /d %~dp0.
- @echo off&setlocal enabledelayedexpansion
- if not "%1"=="h" mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",vbhide)(window.close)&exit
- set "bmp="%USERPROFILE%\Local Settings\Application Data\Microsoft\Wallpaper1.bmp""
- if not exist delay.vbs echo wscript.sleep 50000>delay.vbs
- set ADD=reg add "HKEY_CURRENT_USER\Control Panel\Desktop"
- (
- %ADD% /v TileWallpaper /d "0" /f
- %ADD% /v WallpaperStyle /d "3" /f
- )>nul 2>nul
- :start
- set "n="
- for /f %%i in ('dir/b *.bmp') do set/a n+=1
- :+REN标签会以001.bmp的形式自动重命名当前目录下的*.bmp位图文件。
- :+但如果原文件名中带有半角叹号“!”会出错,目前还没想到解决办法。
- :+所以在下载保存图片的时候请自己注意一下图片名字是否还有“!”,有则删掉再保存。
- :REN
- set "ver="
- for /f "delims=" %%i in ('dir /b *.bmp') do (
- set /a ver+=1&set "name=0000000!ver!.bmp"&set "name=!name:~-7!"
- if /i "%%i" neq "!name!" (
- if exist "!name!" (ren "!name!" "TMP_!random!.bmp"&ren "%%i" "!name!"&goto REN) else ren "%%i" "!name!"
- ))
- %ADD% /v Wallpaper /d %bmp% /f
- set/a "a=%random%%%%n%+1"
- set "a=000%a%"&set "b=!a:~-3!"
- for %%i in (%x%) do (if "%b%" equ "%%i" goto start)
- set/a m+=1
- :+下面这个10是控制随机更换的10张图片内不会重复。可以自行设置。
- :+不能大于图片总数减1。如共50张图片则最大只能设成49。
- if %m% gtr 10 (
- set "x=%b% %x:~0,-4%"
- )else set "x=%b% %x%"
- copy /y "%b%.bmp" %bmp%>nul 2>nul
- RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
- delay.vbs
- goto start
复制代码
|