根据文章 http://liangruijun.blog.51cto.com/3061169/634917 做了个批处理
发出来,大家看看有什么可改进的地方- rem 将与此批处理同目录下的 backgroundDefault.jpg
- rem 文件设置成为Win7登陆界面的背景图
- rem 本在于Win7下测试通过,当然,只适用于Win7
- echo off & cls
- SETLOCAL ENABLEDELAYEDEXPANSION
-
- set "JPGNAME=backgroundDefault.jpg"
- set "MAXSIZE=250"
- set "JPGPATH=%windir%\System32\oobe\info\backgrounds"
- set "num=0"
- rem 检测文件是否存在
- echo.
- if not exist "%JPGNAME%". (
- echo. 设置用的JPG文件不存在,无法设置,按任意键退出!
- goto :thend
- ) else (
- echo. 已找到 JPG 文件:%JPGNAME%!
- )
- rem 检测文件大小
- echo.
- for /f "tokens=3,4 delims= " %%a in ('dir "%~sdp0%JPGNAME%"') do (
- if "%%b" equ "%JPGNAME%" (
- for /f "tokens=1,2 delims=," %%c in ("%%a") do (
- set /a num=%%c * 1000 + %%d
- set /a num=!num! / 1024
- set /a abc=%MAXSIZE% - 1
- if !num! geq !abc! (
- echo. 文件超过 %MAXSIZE% KB!不能设置,按任意键退出!
- goto :thend
- ) else (
- echo. 文件不超过 %MAXSIZE% KB!符合要求,可以设置!
- )
- )
- )
- )
- rem 修改注册表
- echo.
- call :setReg
- rem 建立文件夹
- echo.
- if not exist "%JPGPATH%". (
- echo. backgrounds 文件夹不存在,正在建立……
- md "%JPGPATH%"
- if errorlevel 0 (
- echo. 建立 backgrounds 文件夹成功!
- ) else (
- echo. 建立 backgrounds 文件夹失败!
- call :setRegBack
- echo. 已还原注册表设置!按任意键退出!
- goto :thend
- )
- )
- echo. 欲设置的文件夹确认完成!
- rem 复制文件
- echo.
- for /f "tokens=2 delims= " %%a in ('copy /y "%~sdp0%JPGNAME%" "%JPGPATH%"') do (
- if not %%a equ 0 (
- echo. %JPGNAME% 复制成功!
- ) else (
- echo. %JPGNAME% 复制失败!
- call :setRegBack
- goto :thend
- )
- )
-
- echo.
- echo. 完成设置,按任意键退出!
- :thend
- ENDLOCAL
- pause >nul
- exit/b
-
- :setReg
- reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background" /v "OEMBackground" /t REG_DWORD /d 1 /f >nul 2>nul
- if errorlevel 0 (
- echo. 注册表修改成功!
- ) else (
- echo. 注册表修改失败!
- )
- goto :EOF
-
- :setRegBack
- reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background" /v "OEMBackground" /t REG_DWORD /d 0 /f >nul 2>nul
- if errorlevel 0 (
- echo. 已还原注册表设置!按任意键退出!
- ) else (
- echo. 无法还原注册表设置!按任意键退出!
- )
- goto :EOF
复制代码