标题: [系统相关] [代码征集]批处理随机更换桌面背景 [打印本页]
作者: youxi01 时间: 2007-12-10 21:04 标题: [代码征集]批处理随机更换桌面背景
批处理随机更换桌面背景
要求:
1、代码简洁明了
2、背景图片可以随意更新(包括文件名)
3、附录:需要用到的命令:
- Rem ===================操作注册表=====================
- set regadd=reg add "HKEY_CURRENT_USER\Control Panel\Desktop
- %regadd%" /v TileWallpaper /d "0" /f
- %regadd%" /v Wallpaper /d "%cd%\【这里是随机图片】.bmp" /f
- %regadd%" /v WallpaperStyle /d "2" /f
- Rem ====================更新==========================
- RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
复制代码
作者: 随风 时间: 2007-12-10 23:49
- @echo off&setlocal enabledelayedexpansion
- rem by 小楼一夜听春雨 bbs.bathome.net 2007-12-10
- title 随机更换桌面背景&color 1f
- :start
- cls&set wjm=&set num=
- echo\&echo 请输入图片全路径及文件名,或拖放文件来此。(只能是bmp图片)
- echo\&echo 直接回车在当前目录随机提取bmp文件做为桌面
- set /p wjm=
- if not "%wjm%"=="" goto loop
- :: 获取当前目录下bmp文件的总数
- for %%a in (*.bmp) do set /a var+=1
- :: 提取一个随机数,范围在文件总数之内
- set /a w=%random%%%%var%+1
- :: 循环所有bmp文件,每次给num加1,当num的值等于随机数就以这个文件为桌面
- for %%a in (*.bmp) do (
- set /a num+=1
- if !num! equ !w! set wjm=%%a
- )
- :loop
- set wjm=%wjm:"=%
- if not exist "%wjm%" (
- echo\&echo 你输入的文件名不正确
- ping/n 2 127.1>nul
- goto start
- )
- Rem ===================操作注册表=====================
- set regadd=reg add "HKEY_CURRENT_USER\Control Panel\Desktop"
- %regadd% /v TileWallpaper /d "0" /f>nul
- %regadd% /v Wallpaper /d "%wjm%" /f>nul
- %regadd% /v WallpaperStyle /d "2" /f>nul
- Rem ====================更新==========================
- RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
复制代码
[ 本帖最后由 随风 于 2007-12-11 00:34 编辑 ]
作者: youxi01 时间: 2007-12-11 07:49
不错,不过有点点建议
你的代码有点要求就是:文件名是数字,然后取随机数,只要随机数与文件名一样,就设置该文件为墙纸,但是为了更好的对图片进行 识别和管理,我们要求图片文件名 不以数字命名...
作者: 随风 时间: 2007-12-11 10:21
没有啊?
你没看仔细吧?
我测试可以的,文件名是任意的.
作者: 辉少 时间: 2008-9-26 10:18
屏保的怎么设置呢??
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |