标题: [文件操作] 批处理如何实现随机更换桌面壁纸/背景? [打印本页]
作者: superwc001 时间: 2016-3-25 09:00 标题: 批处理如何实现随机更换桌面壁纸/背景?
本帖最后由 pcl_test 于 2016-7-28 01:06 编辑
有一个文件夹里面放着N张BMP格式的图片。想做一个批处理 运行后会随机把文件夹里的图片设置成壁纸。
点击后更改就可以,不需要每隔多久自动修改。
谢谢大神
作者: happy886rr 时间: 2016-3-25 13:02
本帖最后由 happy886rr 于 2016-3-28 16:49 编辑
回复 1# superwc001 - @echo off
- setlocal enabledelayedexpansion
- for %%i in (*.bmp) do (set /a N+=1)
- for %%i in (*.bmp) do (
- set /a RN=!random!%%!N!+1
- if not defined #!RN! (set "#!RN!=%%i")
- )
- for /f "tokens=2 delims==" %%i in ('set #') do (
- REG ADD "HKEY_CURRENT_USER\Control Panel\Desktop" /v Wallpaper /d "!CD!\%%i" /f
- echo %%i
- set /a i+=1
- if !i! equ 1 (goto end)
- )
- :end
- RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
- set /p =执行完毕!
复制代码
作者: superwc001 时间: 2016-3-25 13:44
回复 2# happy886rr
不好用呀。
作者: superwc001 时间: 2016-3-25 13:45
此时不该有(*.bmp)
作者: happy886rr 时间: 2016-3-25 13:49
本帖最后由 happy886rr 于 2016-3-25 14:44 编辑
回复 4# superwc001
代码少写了一个in ,已改,在原楼
作者: superwc001 时间: 2016-3-28 14:36
回复 5# happy886rr
谢谢帮忙,非常感谢,但是测试XP下一点问题没有,WIN7下,双击批处理后有时候能改桌面,有时候没反应,批处理已经显示了BMP文件名,但是没有更改。但是有时候好用。点击10次能有2 3次成功。是不是我系统问题?系统是WIN7 专业版的SP1
作者: happy886rr 时间: 2016-3-28 14:58
回复 6# superwc001
说对了,就是系统问题,xp支持那个操作。到了win7就有一个延迟,不能立刻刷新背景。
作者: superwc001 时间: 2016-3-28 15:50
回复 7# happy886rr
有办法解决吗??
作者: superwc001 时间: 2016-3-29 20:00
大神们 有帮我解决下的吗?
作者: pcl_test 时间: 2016-7-28 01:04
本帖最后由 pcl_test 于 2016-7-28 01:08 编辑
回复 9# superwc001
先运行这个帖子3楼的代码,生成$ChangeWallpaper.exe,
http://www.bathome.net/redirect. ... 7073&ptid=40853
然后在把下面批处理、exe文件和bmp图片放一起,执行批处理- @echo off&setlocal enabledelayedexpansion
- for %%i in (*.bmp) do set /a n+=1&set "#!n!=%%i"
- set /a r=!random!%%%n%+1
- $ChangeWallpaper.exe "!#%r%!"
- pause
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |