|
本帖最后由 BEIKING 于 2023-3-20 11:13 编辑
- @echo off
- Title 切换壁纸
- MODE con: Cols=40 Lines=10
- Color 2f
- Pushd "%CD%"&cd /d "%~dp0"
- for /f "tokens=2*" %%i in ('reg query "HKCU\Control Panel\Desktop" /v "WallPaper" 2^>nul') do Set "OWP=%%j"
- for /f "tokens=* usebackq" %%f in (`dir /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 /b /o:d *.*^|find /v "%~nx0"`) do (
- Copy "%%f"+,, "%%f" 1>nul 2>nul&Set "NWP=%%f"&Goto 设置壁纸
- )
- :随机切换
- Set /a RNum=%Random%%%%Count%+1 2>nul
- Set Num=1
- setlocal enabledelayedexpansion
- for /f "tokens=* usebackq" %%f in (`dir /b *.*^|find /v "%~nx0"`) do (
- if !Num! == %RNum% (endlocal&Set RNum=[%RNum%] &Set "NWP=%%f"&Goto 设置壁纸)
- Set /a Num+=1
- )
- :设置壁纸
- 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 "%OWP%" == "%NWP%" if "%Count%" gtr "1" Goto 随机切换
- echo %GP%: %RNum%↓
- echo %NWP%
- if exist %SystemRoot%\System32\Pecmd.exe (Pecmd WALL "%NWP%"&® delete "HKCU\Control Panel\Desktop" /f /v "Wallpaper.PECMD" 1>nul 2>nul) else (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
复制代码 PE系统,调用 Pecmd WALL 命令设置桌面壁纸,很稳定都生效
正常系统,注册表设置壁纸路径后,调用 rundll32.exe user32.dll,UpdatePerUserSystemParameters 1,True 刷新桌面,有一定概率不生效。需要多次刷新
调用参数:
-Next 顺序切换壁纸(默认)
+Next 顺序切换壁纸,壁纸文件拷入到%WinDir%\Web\Wallpaper\
-Random 随机切换壁纸
+Random 随机切换壁纸,壁纸文件拷入到%WinDir%\Web\Wallpaper\
使用方法:
将脚本文件置于壁纸同一目录执行,不支持下级目录。
壁纸目录只能有脚本文件和壁纸文件,不能存在其他文件或文件夹,会影响壁纸切换!
_切换壁纸.rar
(1.02 KB, 下载次数: 84)
|
评分
-
查看全部评分
|