Script for changing the lock screen wallpaper on Windows 10 AME
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

113 lines
2.8 KiB

  1. @echo off
  2. rem Created for Windows 10 AME, tested on version 20H2
  3. rem Author: Logan Darklock <logandarklock@gmail.com> (no spam please)
  4. rem Co-author: lucid
  5. cls
  6. echo :: Windows 10 AME Lockscreen Wallpaper Changer
  7. echo.
  8. echo Working...
  9. echo.
  10. setlocal
  11. set SCRIPT=%0
  12. set IMAGE=%1
  13. if "%IMAGE%" == "" (
  14. cls
  15. echo :: Windows 10 AME Lockscreen Wallpaper Changer
  16. echo.
  17. echo To change the lockscreen wallpaper, drag-and-drop
  18. echo an image file onto the script icon.
  19. goto pause
  20. )
  21. rem Verify image extension, per lucid's request
  22. set NAME=%IMAGE:"=%
  23. rem Convert to lowercase
  24. set NAME=%NAME:A=a%
  25. set NAME=%NAME:B=b%
  26. set NAME=%NAME:C=c%
  27. set NAME=%NAME:D=d%
  28. set NAME=%NAME:E=e%
  29. set NAME=%NAME:F=f%
  30. set NAME=%NAME:G=g%
  31. set NAME=%NAME:H=h%
  32. set NAME=%NAME:I=i%
  33. set NAME=%NAME:J=j%
  34. set NAME=%NAME:K=k%
  35. set NAME=%NAME:L=l%
  36. set NAME=%NAME:M=m%
  37. set NAME=%NAME:N=n%
  38. set NAME=%NAME:O=o%
  39. set NAME=%NAME:P=p%
  40. set NAME=%NAME:Q=q%
  41. set NAME=%NAME:R=r%
  42. set NAME=%NAME:S=s%
  43. set NAME=%NAME:T=t%
  44. set NAME=%NAME:U=u%
  45. set NAME=%NAME:V=v%
  46. set NAME=%NAME:W=w%
  47. set NAME=%NAME:X=x%
  48. set NAME=%NAME:Y=y%
  49. set NAME=%NAME:Z=z%
  50. if "%NAME:~-4%" == ".jpg" (goto validextension)
  51. if "%NAME:~-5%" == ".jpeg" (goto validextension)
  52. if "%NAME:~-4%" == ".png" (goto validextension)
  53. if "%NAME:~-4%" == ".gif" (goto validextension)
  54. if "%NAME:~-5%" == ".webp" (goto validextension)
  55. if "%NAME:~-4%" == ".bmp" (goto validextension)
  56. cls
  57. echo :: Windows 10 AME Lockscreen Wallpaper Changer
  58. echo.
  59. echo Invalid image format!
  60. echo.
  61. echo Supported image formats: .jpg, .jpeg, .png, .gif, .webp, .bmp
  62. goto pause
  63. :validextension
  64. timeout /t 1 /nobreak > NUL
  65. openfiles > NUL 2>&1
  66. if not %errorlevel% == 0 (
  67. cls
  68. echo :: Windows 10 AME Lockscreen Wallpaper Changer
  69. echo.
  70. echo Elevating to administrator...
  71. powershell "Start-Process """%SCRIPT:"=`"""%""" -ArgumentList """%IMAGE:"=`"""%""" -Verb RunAs"
  72. goto end
  73. )
  74. rem Copy wallpaper to the right spot
  75. takeown /f "%WINDIR%\Web\Screen\img100.jpg" >nul
  76. takeown /f "%WINDIR%\Web\Screen\img103.png" >nul
  77. takeown /f "%WINDIR%\Web\Wallpaper\Windows\img0.jpg" >nul
  78. icacls "%WINDIR%\Web\Screen\img100.jpg" /reset >nul
  79. icacls "%WINDIR%\Web\Screen\img103.png" /reset >nul
  80. icacls "%WINDIR%\Web\Wallpaper\Windows\img0.jpg" /reset >nul
  81. copy "%IMAGE%" "%WINDIR%\Web\Screen\img100.jpg" /y >nul
  82. copy "%IMAGE%" "%WINDIR%\Web\Screen\img103.png" /y >nul
  83. copy "%IMAGE%" "%WINDIR%\Web\Wallpaper\Windows\img0.jpg" /y >nul
  84. rem Clear cache
  85. takeown /r /d Y /f "%PROGRAMDATA%\Microsoft\Windows\SystemData" >nul
  86. icacls "%PROGRAMDATA%\Microsoft\Windows\SystemData" /reset /t >nul
  87. for /d %%x in ("%PROGRAMDATA%\Microsoft\Windows\SystemData\*") do (
  88. for /d %%y in ("%%x\ReadOnly\LockScreen_*") do rd /s /q "%%y"
  89. )
  90. cls
  91. echo :: Windows 10 AME Lockscreen Wallpaper Changer
  92. echo.
  93. echo Wallpaper successfully changed! You may have to reboot
  94. echo for it to take effect.
  95. :pause
  96. echo.
  97. pause
  98. :end