[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[特效代码] [已更新]批处理自动随机更改桌面背景

闲来没事。随便写了个批处理。先看代码吧。
声明:该帖先个几分钟也在非常批处理发布过,绝对原创,并非转载。

代码已更新。

  1. @echo off&setlocal enabledelayedexpansion
  2. if not "%1"=="h" mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",vbhide)(window.close)&exit
  3. set "bmp="%USERPROFILE%\Local Settings\Application Data\Microsoft\Wallpaper1.bmp""
  4. if not exist delay.vbs echo wscript.sleep 10000>delay.vbs
  5. set ADD=reg add "HKEY_CURRENT_USER\Control Panel\Desktop"
  6. (
  7. %ADD% /v TileWallpaper /d "0" /f
  8. %ADD% /v WallpaperStyle /d "3" /f
  9. )>nul 2>nul
  10. :start
  11. set "n="
  12. for /f %%i in ('dir/b *.bmp') do set/a n+=1
  13. :+REN标签会以001.bmp的形式自动重命名当前目录下的*.bmp位图文件。
  14. :+但如果原文件名中带有半角叹号“!”会出错,目前还没想到解决办法。
  15. :+所以在下载保存图片的时候请自己注意一下图片名字是否还有“!”,有则删掉再保存。
  16. :REN
  17. set "ver="
  18. for /f "delims=" %%i in ('dir /b *.bmp') do (
  19. set /a ver+=1&set "name=0000000!ver!.bmp"&set "name=!name:~-7!"
  20. if /i "%%i" neq "!name!" (
  21. if exist "!name!" (ren "!name!" "TMP_!random!.bmp"&ren "%%i" "!name!"&goto REN) else ren "%%i" "!name!"
  22. ))
  23. %ADD% /v Wallpaper /d %bmp% /f
  24. set/a "a=%random%%%%n%+1"
  25. set "a=000%a%"&set "b=!a:~-3!"
  26. for %%i in (%x%) do (if "%b%" equ "%%i" goto start)
  27. set/a m+=1
  28. :+下面这个10是控制随机更换的10张图片内不会重复。可以自行设置。
  29. :+不能大于图片总数减1。如共50张图片则最大只能设成49。
  30. if %m% gtr 10 (
  31. set "x=%b% %x:~0,-4%"
  32. )else set "x=%b% %x%"
  33. copy /y "%b%.bmp" %bmp%>nul 2>nul
  34. RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
  35. delay.vbs
  36. goto start
复制代码
这次更新的主要内容是增加了自动重命名图片的功能,也就是说批处理会自动重命名与批处理同目录下的所有*.bmp图片。这样大家用起来就更方便了,随时都可以增加新图片或是删除看腻了的图片,只要图片格式*.bmp不要搞错就行了。如果大家在使用过程中发现什么问题请跟帖反应,大家共同学习。
如果用着感觉不错就请回来帮我顶顶帖哦,鼓励鼓励我这个新手。



[ 本帖最后由 zljzsmzzx 于 2009-6-29 12:08 编辑 ]
1

评分人数

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

收藏了,改日定当好生研究

TOP

回复 2楼 的帖子

原来早有人写过了。不过思路不完全一样。而且“随风”的那个也没有“自动”的效果。他有的我有,我有的他不全有,这样应该不算抄袭吧。重要的是我之前根本就没看过那个帖。不过。他的“set /a w=%random%%%%var%+1”用法可以借鉴一下。另外有一点我觉得很抱歉,就是在非常批处理发帖之前我搜索了相关帖,而来这里发的时候就给忘了。

[ 本帖最后由 zljzsmzzx 于 2009-6-25 20:18 编辑 ]

TOP

原代码借鉴了“set /a w=%random%%%%var%+1”的用法已经有所更新。现在能支持999张图片了。

TOP

再次更新。更方便好用了。

TOP

返回列表