无忧启动论坛

标题: 随机设定背景图片 [打印本页]

作者: 2013zheng_1681    时间: 2013-3-17 17: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)
作者: renchmin    时间: 2013-3-17 22:11
这个很不错的随机设定背景图确实很方便的啊。
作者: 2013zheng_1681    时间: 2013-3-17 22:35
执行背景部分也可改为下列写法。

: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
作者: 2013zheng_1681    时间: 2013-3-18 12:03
又一种写法,这种可能效率较高。
: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 编辑 ]
作者: 2013fence    时间: 2013-3-24 13:51
呵呵,拿去了,谢谢了哦
作者: 2013zheng_1681    时间: 2013-3-25 21:21
发出来就是共享的啊,拿吧拿吧!大家开心 我就开心!




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3