1、setmybg.cmd
@echo off
rem 使用变量延迟扩展的语句
rem setlocal EnableDelayedExpansion
copy nul %~dp0list.txt > nul
for /f "usebackq delims=" %%i in (`dir/a-d/b/s %1`) do call set $%%random%%$%%i=$
for /f "tokens=1,2* delims=$=" %%i in ('set $') do echo %%i/%%j >> %~dp0list.txt
for /f "tokens=1,* delims==" %%i in ('set $') do call set %%i=
set /a n=1
rem 使用变量延迟扩展的语句
rem for /f "tokens=1,2* delims=/" %%i in ('sort /R %~dp0list.txt') do if !n! equ 1 ( set bgfile=%%j && set /a n=!n!+1 ) else ( goto end )
for /f "tokens=1,2* delims=/" %%i in ('sort /R %~dp0list.txt') do if %n% equ 1 ( set bgfile=%%j && goto STARTCONVERT )
goto :end
:STARTCONVERT
if not exist %~dp0wallpaper1.bmp goto SETBG
del /f /q %~dp0wallpaper1.bmp