先上一段批处理代码:- @echo off
- echo 此程序是用于,在每次启动Win7时,自动更换Win7的登录背景。它的登录背景的切换,
- echo 是基于一组图片进行轮播
- echo ----------------------------------------------------------------------
- echo 程序思路:Win7文件夹下名字为backgroundDefault.jpg的图片会被当作登录背景图片显示。
- echo 程序的主要作用,是在那一组图片中,适当的修改每个图片的名称,
- echo 从而实现每次开机的登录界面都不相同
- echo -----------------------------------------------------------------------
- rem 程序开始
-
- setlocal enabledelayedexpansion
-
- rem 先将L序号的文件名的文件中的序号全部加1
- rem 声明一个变量,获取当前L之后的序号
-
- set next = this is a string
- set picName = this is also string
-
- pause
-
- rem 统计L开头的文件的个数
- set sum = 0
-
- rem 循环求和 L开头的文件的数量
-
- for %%x in (L*.jpg) do (
- set picName = %%x
- echo %picName%
- pause
-
- set next = %picName:~1,1%
-
- echo %next%
- pause
-
- rem 重命名文件
- ren "%%x" % %%x:%%x:~1,1%=next%
-
- echo % %%x:%%x:~1,1%=next%
- pause
-
- set sum=sum+1
- )
-
- rem 再将 backgroundDefault.jpg 图片的名称改为“L”加1
-
- ren "backgroundDefault.jpg" "L1"
-
- rem 最后将L(Max),改为backgroundDefault.jpg
-
- ren "L"+%sum% "backgroundDefault.jpg"
-
- echo "L"+%sum%
- pause
复制代码 这里面,在 Set 后面,如果加上 “/p”,就会少出这个“Echo处于关闭状态”的错误提示。 但是,里面的字符串截取的地方,不能正常的截取(截取到的结果是 "~1,1",好奇怪啊),再把截取到的结果输出之后,还会出现“Echo处于关闭状态”的错误。
向来好多办法都不行,希望大神指点! |