无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 2700|回复: 5
打印 上一主题 下一主题

[分享] 随机设定背景图片

[复制链接]
跳转到指定楼层
1#
发表于 2013-3-17 17:10:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
看了  [分享] autosp 随机设定背景图片http://bbs.wuyou.net/forum.php?m ... mp;highlight=autosp
感觉很不错,于是就拿来使用,但在用的过程中,觉得能不能适当优化,于是我对他进行了修改如下:
语法格式很随性,增加了两个参数,
可以是  command  ()/autosp  ()/mypic      随机背景在()/mypic文件夹下0开始,如back0.lzma   ~ back100.lzma
可以是  command  ()/autosp  ()/mypic 2     随机背景在()/mypic文件夹下0开始,如back0.lzma   ~ back2.lzma
可以是  command  ()/autosp  ()/mypic    2  6   随机背景在()/mypic文件夹下0开始,如back2.lzma   ~ back6.lzma
  

!BAT                       by 895866818   UESTC 2012-09-10   v1
setlocal
if "%debug%"=="" set debug=off
debug %debug%
::跳转帮助
if "%1"=="" goto :help
if /i "%1"=="-h" goto :help
if /i "%1"=="--help" goto :help
::开始
set path=%1
set tmp=%path:~-1%
if not "%tmp%"=="/" set path=%path%/
::图片计数
if "%2"=="" && ls %path% | call :pic
if not "%3"=="" && set /a picmax=%3 > nul &&  set /a picmin=%2 > nul
if "%3"=="" && if not "%2"=="" &&  set /a picmax=%2 > nul &&  set /a picmin=0 > nul
if %picmax% lss 0 && echo no file  && exit

::计算随机序号
set /a hit=%@random%  > nul
set /a hit=%picmax% - %picmin% +1   > nul
set /a hit=%@random% %% %hit% +%picmin% > nul
set pic=-1
::根据序号设定背景
ls %path% | call :setpic
exit
::计数
:pic
if "%1"=="" && set /a picmax=%pic% > nul &&  set /a picmin=0 && exit
set /a pic=%pic% + 1 > nul
shift
goto :pic
exit
::设定
:setpic
if "%1"=="" exit
set /a pic=%pic% + 1 > nul
if %pic%==%hit% && splashimage %path%%%1 > nul
if %pic%==%hit% exit
shift
goto :setpic
exit
::帮助
:help
debug on
echo 功能:随机设置背景图片
echo 命令格式: %~nx0 [路径]
echo 路径中应该包含要设定的背景图片[目前并不检测格式,一律认为可加载].
exit




感谢     2011895866818 (Tick)
2#
发表于 2013-3-17 22:11:32 | 只看该作者
这个很不错的随机设定背景图确实很方便的啊。
回复

使用道具 举报

3#
 楼主| 发表于 2013-3-17 22:35:13 | 只看该作者
执行背景部分也可改为下列写法。

:setpic
if "%1"=="" exit
set  all=%~n1 > nul
::4是位数,从左边开始截取即背景图片名非序号部分,可使用变量
call Fn.0 0 "%.*s" 4 %all% | set all= > nul
set all=%path%%%all%%%hit%%%~x1
splashimage %all% > nul && exit
回复

使用道具 举报

4#
 楼主| 发表于 2013-3-18 12:03:40 | 只看该作者
又一种写法,这种可能效率较高。
:setpic
if "%1"=="" exit
::-1是截取末尾1位数字序号
set a=%~n1
splashimage %path%%%a:~0,-1%%%hit%%%~x1 > nul  && exit

[ 本帖最后由 2013zheng_1681 于 2013-3-18 12:05 编辑 ]
回复

使用道具 举报

5#
发表于 2013-3-24 13:51:06 | 只看该作者
呵呵,拿去了,谢谢了哦
回复

使用道具 举报

6#
 楼主| 发表于 2013-3-25 21:21:35 | 只看该作者
发出来就是共享的啊,拿吧拿吧!大家开心 我就开心!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-18 09:00

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表