标题: [已解决]批处理如何按月更换jpg格式的桌面背景壁纸? [打印本页]
作者: zjhuzi 时间: 2009-2-15 04:02 标题: [已解决]批处理如何按月更换jpg格式的桌面背景壁纸?
各位,有没有一个批处理能实现自动更换壁纸啊,
1、按月更换
图片所在目录地址是
d:\My Documents\Wallpaper\139calendar2009
2、批处理,能根据当前系统日期自动选择壁纸
如,01月,则选择 “01.jpg” 作为当前桌面壁纸
.........
12月, “12.jpg”。。。。
作者: lixiaodaoaaa 时间: 2009-2-15 05:18 标题: 呵呵
-
- set regadd=reg add "HKEY_CURRENT_USER\Control Panel\Desktop
- %regadd%" /v TileWallpaper /d "0" /f
- %regadd%" /v Wallpaper /d "d:\My Documents\Wallpaper\139calendar2009\01.bmp" /f
- %regadd%" /v WallpaperStyle /d "2" /f
- echo 正在更换桌面背景
- start RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
- echo 成功更换桌面背景完成!!
复制代码
这是以前流传很就的东西
但每月更换,估计可能不大
我也寻求高人 做每月更换的
[ 本帖最后由 lixiaodaoaaa 于 2009-2-15 05:19 编辑 ]
作者: HoeKey 时间: 2009-2-15 07:12
非常好用啊 学习一下
作者: zjhuzi 时间: 2009-2-15 09:45
经测试,结果如下:
1、图片格式是*.jpg
2、更换成功,但没有立即显示,须在再次点击该图片>点应用方才显示。
3、没有根据当前日期选择相应的图片做壁纸,有点遗憾。
感谢lixiaodaoaaa坛友热心的回答,请继续,谢谢。
问题未解,望各坛友给予帮助,本人衷心感谢.
[ 本帖最后由 zjhuzi 于 2009-2-15 09:49 编辑 ]
作者: HoeKey 时间: 2009-2-15 11:01
能不能指定文件夹 然后随机更换文件夹内的图片
作者: Batcher 时间: 2009-2-15 17:21
没有立即显示,可以尝试重启explorer.exe进程。
按月更换,可以在批处理中创建计划任务。
作者: shqf 时间: 2009-2-15 20:14
先把系统日期格式处理成YYYY-MM-DD这样的格式:- @echo off
- reg add "hkcu\control panel\Desktop" /v Wallpaper /d "D:\My Documents\Wallpaper\139calendar2009\%date:~5,2%.bmp" /f>nul
- RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
复制代码
把这个BAT放在系统启动项里即可。
对4楼所说的情况,经在本机上测试发现,RunDll32.exe此句对JPG格式的文件没有用啊,是不能更新滴(此时重启explorer.exe进程,也无法更新),但对BMP格式的文件能起作用,可以更新呵。
[ 本帖最后由 shqf 于 2009-2-15 20:54 编辑 ]
作者: Batcher 时间: 2009-2-15 20:51 标题: 回复 7楼 的帖子
- @echo off
- REM 周一到周日每天使用不同的桌面背景
- REM 假设系统日期格式是 2015/04/20 周一
- REM 在 C:\桌面背景图片 文件夹下面准备七个图片 周一.bmp 周二.bmp 周三.bmp 。。。
- reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v Wallpaper /d "C:\桌面背景图片\%date:~11%.bmp" /f
- RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
复制代码
JPG格式可以参考这个:
趁今天有点空,发点实用的P
我知道这个有人发过,全部搜索了一遍,我的还是有不同点的。
我的能设置jpg图片为背景,前面也有人发过能设jpg图片的,不过要DLL文件支持,而我的不用。
其中好像涉及到系统自动将jpg转化为bmp格式的问题,希望有识之士能研究出来系统怎么个自动转换的原理。
"%userProfile%\Local Settings\Application Data\Microsoft\Wallpaper1.bmp"
此为当前桌面背景完整路径。
测试环境:XP SP2- ::复制更换桌面背景.bat::
- ::将bmp格式图片拖入P中
- @echo off
- title 更换桌面背景
- cd/d %~dp0
- if /i %~x1==.BMP copy %1 "%userProfile%\Local Settings\Application Data\Microsoft\Wallpaper1.bmp"
- echo 正在更换桌面背景
- RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
- goto :eof
- ::复制更换桌面背景.bat::
- ::::::::::::::::::::::::
复制代码
这个在论坛有人发过。- ::一般更换墙纸.bat::
- ::图片为bmp格式
- ::拖入bmp格式图片即设置它为背景。
- ::直接双击运行,若当前目录中有bmp格式图片,则将名称排在最后的一张设为壁纸
- @echo off
- title 更换墙纸
- setlocal enableDelayedExpansion
- set pic=%1
- if "!pic!"=="" call :search
- if "!pic!"=="" set pic="%userProfile%\Local Settings\Application Data\Microsoft\Wallpaper1.bmp"
- echo 正在添加注册表项目...
- reg add "HKCU\Control Panel\Desktop" /v Wallpaper /d !pic! /f>nul
- reg add "HKCU\Control Panel\Desktop" /v WallpaperStyle /d "2" /f>nul
- echo 正在更换桌面背景
- RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
- goto :eof
- :search
- cd/d "%~dp0"
- for /f "delims=" %%a in ('dir/b *.bmp') do (
- set pic="%~dp0%%a"
- )
- goto :eof
- ::一般更换壁纸.bat::
- ::::::::::::::::::::
复制代码
- ::强制更换壁纸.bat::
- ::有些系统不能成功
- ::图片为bmp或jpg格式
- ::如果图片格式为jpg,则桌面图标文字有背景色(成功设置后,运行一遍下面的还原壁纸可去除背景色)
- ::拖入图片运行
- ::双击直接运行,名字排后的一张设为背景
- ::同时可以禁止通过桌面属性来更改壁纸(用软件更改不能禁止)
- @echo off
- title 更换壁纸
- setlocal enableDelayedExpansion
- set pic=%1
- if "!pic!"=="" call :search
- if "!pic!"=="" set pic="%userProfile%\Local Settings\Application Data\Microsoft\Wallpaper1.bmp"
- echo 正在添加注册表项目...
- reg add "HKCU\Control Panel\Desktop" /v Wallpaper /d !pic! /f>nul
- reg add "HKCU\Control Panel\Desktop" /v WallpaperStyle /d "2" /f>nul
- reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v Wallpaper /d !pic! /f>nul
- reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v WallpaperStyle /d "2" /f>nul
- echo 正在更换桌面背景
- RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
- goto :eof
- :search
- cd/d "%~dp0"
- for /f "delims=" %%a in ('dir/b *.jpg *.bmp') do (
- set pic="%~dp0%%a"
- )
- goto :eof
- ::强制更换壁纸.bat::
- ::::::::::::::::::::
复制代码
- ::还原壁纸.bat::
- ::确保有"%userProfile%\Local Settings\Application Data\Microsoft\Wallpaper1.bmp"
- @echo off
- title 还原壁纸
- set pic="%userProfile%\Local Settings\Application Data\Microsoft\Wallpaper1.bmp"
- echo 正在添加注册表项目...
- reg add "HKCU\Control Panel\Desktop" /v Wallpaper /d %pic% /f>nul
- reg add "HKCU\Control Panel\Desktop" /v WallpaperStyle /d "2" /f>nul
- reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v Wallpaper /d %pic% /f>nul
- reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v WallpaperStyle /d "2" /f>nul
- echo 正在还原桌面背景
- RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
- goto :eof
- ::还原壁纸.bat::
- ::::::::::::::::
复制代码
- ::取消壁纸限制.bat::
- @echo off
- title 取消壁纸限制
- echo 正在删除注册表项目...
- reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v Wallpaper /f>nul
- reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v WallpaperStyle /f>nul
- echo 正在刷新
- RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
- goto :eof
- ::取消壁纸限制.bat::
- ::::::::::::::::::::
复制代码
说明文档
存放桌面背景的几个路径
-------------------------
C:\WINDOWS\Web\Wallpaper
::jpg桌面(还有Bliss.bmp)
C:\WINDOWS
::bmp桌面
[图片收藏]或[我的图片][My Pictures]
::jpg、bmp、gif
-------------------------
其他两个位置
-------------------------
你指定的图片位置
::jpg、bmp、gif
"%userProfile%\Local Settings\Application Data\Microsoft\Wallpaper1.bmp"
::无特殊情况即为当前桌面背景
=========================
原文地址:http://www.cn-dos.net/forum/viewthread.php?tid=41491
作者: ydhrx 时间: 2009-12-18 21:57 标题: 附件
附件打不到?
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |