使用批处理命令制作_切换壁纸 适用于PE环境
@echo off
if /i "%UserName%" == "SYSTEM" (Goto GotAdmin) else (reg query "HKLM\SYSTEM\ControlSet001\Control\MiniNT" 1>nul 2>nul&&Goto GotAdmin)
:BatchGotAdmin
Set _Args=%*
if `%1` neq `` Set "_Args=%_Args:"=""%"
if exist %WinDir%\System32\fltMC.exe fltMC 1>nul 2>nul||mshta VBScript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c """"%~f0"" %_Args%""",,"runas",1)(Window.Close) 2>nul&&Exit /b
:GotAdmin
Pushd "%CD%"&cd /d "%~dp0"
Title 切换壁纸&(if exist %WinDir%\System32\ureg.dll Mode 40,10 2>nul)&Color 2f
:Start
for /f "tokens=2*" %%i in ('reg query "HKCU\Control Panel\Desktop" /v "WallPaper" 2^>nul') do Set "OWP=%%~j"
Set Count=0&for /f "tokens=* usebackq" %%f in (`dir /a-d-s-h /b *.*^|find /v /c "%~nx0"`) do Set /a Count=%%f
echo 壁纸数量: [%Count%]
if %Count% == 0 Color cf&ping 127.1 -n 3 >nul&Exit /b
REM 调用参数:-Next(默认) -Random +Next +Random
Set CP=-&Set GP=顺序切换&Set "Args=%~1"
if defined Args (
Set "CP=%Args:~0,1%"
if /i "%Args:~1%" == "Random" Set GP=随机切换
)
Goto %GP%
:顺序切换
for /f "tokens=* usebackq" %%f in (`dir /a-d-s-h /b /o:d *.*^|find /v "%~nx0"`) do (
Copy "%%~f"+,, "%%~f" 1>nul 2>nul&Set "NWP=%%~f"&Goto 设置壁纸
)
Exit /b
:随机切换
Set /a RNum=%Random%%%%Count%+1 2>nul
Set Num=1
Setlocal EnableDelayedExpansion
for /f "tokens=* usebackq" %%f in (`dir /a-d-s-h /b *.*^|find /v "%~nx0"`) do (
if !Num! == %RNum% (Endlocal&Set RNum=[%RNum%] &Set "NWP=%%~f"&Goto 设置壁纸)
Set /a Num+=1
)
Endlocal&Exit /b
:设置壁纸
if /i "%CP%" == "+" (Copy /y "%NWP%" "%WinDir%\Web\Wallpaper\%NWP%" >nul&&Set "NWP=%WinDir%\Web\Wallpaper\%NWP%") else Set "NWP=%~dp0%NWP%"
if "%GP%" == "随机切换" if /i "%OWP%" == "%NWP%" if %Count% gtr 1 Goto 随机切换
echo %GP%: %RNum%↓
echo %NWP%
Pecmd.exe /? 1>nul 2>nul&&(Pecmd.exe WALL "%NWP%"&® delete "HKCU\Control Panel\Desktop" /f /v "Wallpaper.PECMD" 1>nul 2>nul)||(reg add "HKCU\Control Panel\Desktop" /f /v "WallPaper" /t REG_SZ /d "%NWP%" 1>nul 2>nul&&Call :刷新)
if not defined Args ping 127.1 -n 2 >nul
Exit /b
:刷新 :: 可能不生效,需要手动重启资源管理器。
Set n=20
:循环
Set /a n-=1
@start "" rundll32.exe user32.dll,UpdatePerUserSystemParameters 1,True
if "%n%" neq "0" Goto 循环
Goto :eof
GRUD3 个月前
通告声明: 关于回帖问题 由于本站长要求,禁止刷1234等!存在恶意灌水回复,已开启自动审核制,自动封闭IP,禁止再次注册!请知晓!
有什么问题群内咨询 561116458
System4 个月前
网络技术QQ:561116458
科技之星①群:669812887
软件共享群:34008xxxx【因为是VIP软件不公开】
视频教程 短视频平台搜索:科技之星网络