中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求更换桌面壁纸的批处理,自认为有难度
作者:
标题: 求更换桌面壁纸的批处理,自认为有难度 上一主题 | 下一主题
15935643331
初级用户





积分 42
发帖 37
注册 2008-12-5
状态 离线
『楼 主』:  求更换桌面壁纸的批处理,自认为有难度

求外网可以更换内网机器桌面壁纸的批处理。
比如http://www.123.com/wallpaper是远程服务器壁纸目录

内网机器运行批处理,读取配置文件wallpaper.ini内指定的壁纸设置为桌面。


下面是我自己写的内网控制的更改壁纸的批处理
@echo off&setlocal EnableDelayedExpansion
set "regadd=reg add "HKEY_CURRENT_USER\Control Panel\Desktop""
for /f "skip=2 tokens=2 delims==" %%i in (wallpaper.ini) do (set "dir=%%i")
for %%a in (%dir%\*.bmp) do (
  set /a n+=1
  set "_!n!=%%a"
)
set /a "num=%random%%%%n%+1"
%regadd%" /v TileWallpaper /d "0" /f
%regadd%" /v Wallpaper /d !_%num%! /f
%regadd%" /v WallpaperStyle /d "2" /f
RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
cls&exit

wallpaper.ini内容如下:
::配置示例,注意最后不要加“\”。
::dir=\\Server\Wallpaper
dir=D:\test\wallpaper
::配置只要修改上面一行,其余的切勿删除,否则出错.
::本配置文件名不能改,且须和主程序置于相同目录下.

2008-12-20 15:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
15935643331
初级用户





积分 42
发帖 37
注册 2008-12-5
状态 离线
『第 2 楼』:  

也就是说怎么让%dir%支持网络HTTP路径参数?

2008-12-20 15:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
exzzz
初级用户

游手好闲 + 无所事事 ..



积分 194
发帖 167
注册 2007-4-30
状态 离线
『第 3 楼』:  

虽然不知道如何回答你2楼的问题,但是似乎%dir%变量中不能包含某些特殊字符,所以建议你copy 随机的图片文件到本地再设置为桌面,而放在服务器上的图片,统统按顺序排名,比如从1到20这样子,以后换图片的时候不换名字就好了。
个人觉得这样比较容易实现。

2008-12-23 14:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: