Як легко змінити мій backgorund з пакетним файлом у Windows 10?


-2

Я шукав безліч кодів, усі вони лише спричинили, що моє фонове зображення стає чорним, а не змінюється на потрібне зображення. Однак я придумав інший код для цього. Скажіть, будь ласка, чи працює цей код чи ні, і яка різниця між ефектом між цим кодом та іншим кодом, що включає реєстр та rundll32. У цьому коді я намагаюся змінити своє тло на зображення на робочому столі під назвою "Eye.jpg". Цей код "часто" працює, але коли я перезавантажуюсь, фон повертається таким, яким він є. І я справді маю на увазі «часто», бо в інший час це зовсім не працює.

@echo off
xcopy /s/y "C:\Users\%username%\Desktop\Eye.jpg" "C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Themes"
del C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Themes\TranscodedWallpaper
rename "C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Themes\Eye.jpg" "TranscodedWallpaper"
xcopy /s/y "C:\Users\%username%\Desktop\Eye.jpg" "C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Themes\CachedFiles"
del C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Themes\CachedFiles\CachedImage_1366_768_POS4.jpg
rename "C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Themes\CachedFiles\Eye.jpg" "CachedImage_1366_768_POS4.jpg"
taskkill /f /im explorer.exe
start explorer.exe
pause

Це був один з інших кодів, який у мене не вийшов.

@echo off
call :quiet>nul 2>&1
goto :EOF
:quiet

reg add "HKCU\Control Panel\Desktop" /v Wallpaper /f /t REG_SZ /d %windir%:\Desktop\wallpaper.bmp

reg add "HKCU\Control Panel\Desktop" /v WallpaperStyle /f /t REG_SZ /d 10


:: %SystemRoot%\System32\RUNDLL32.EXE user32.dll, UpdatePerUserSystemParameters

Це робота чи комп’ютер компанії?
music2myear

Відповіді:


0

Обидва методи працюватимуть, але в обох випадках ви помилилися, і з цієї причини він не працює. Я поясню помилку і як її виправити.

@echo off xcopy / s / y "C: \ Користувачі \% ім'я користувача% \ Desktop \ Eye.jpg" "C: \ Користувачі \% ім'я користувача% \ AppData \ Роумінг \ Microsoft \ Windows \ Теми" del C: \ Користувачі \ % username% \ AppData \ Роумінг \ Microsoft \ Windows \ Теми \ TranscodedWallpaper перейменувати "C: \ Користувачі \% ім'я користувача% \ AppData \ Роумінг \ Microsoft \ Windows \ Теми \ Eye.jpg" "TranscodedWallpaper" xcopy / s / y "C : \ Користувачі \% ім'я користувача% \ Desktop \ Eye.jpg "" C: \ Користувачі \% ім'я користувача% \ AppData \ Роумінг \ Microsoft \ Windows \ Теми \ CachedFiles "del C: \ Користувачі \% ім'я користувача% \ AppData \ Роумінг \ Microsoft \ Windows \ Теми \ CachedFiles \ CachedImage_1366_768_POS4.jpg перейменувати "C: \ Користувачі \% ім'я користувача% \ AppData \ Роумінг \ Microsoft \ Windows \ Теми \ CachedFiles \ Eye.jpg" "CachedImage_1366_768_POS4.jpg" taskkill / f / im explorer. EXE запустити паузу Explor.exe

Вищезгадане змінить фон у розташуванні Windows зберігає фони, коли встановлено новий фон. Річ у тому, що Windows завжди буде перетворювати фон у .bmp-образ перед його встановленням. Ви в основному намагаєтеся замінити зображення у форматі .jpeg, на який потрібен макет .bmp, і припустимо, що воно працює, але зображення jpg просто не є зображенням bmp, і для цього Windows не може завантажити зображення і робить відмову на чорний суцільний колір.

Щоб виправити це, відкрийте файл Eye.jpg за допомогою програми фарби, збережіть його з макетом BMP (Bitmap) та розширенням до Eye.bmp, а потім використовуйте новий файл у вашому сценарії, і він буде працювати.

@echo виклик: тихий> nul 2> & 1 перехід: EOF: тихий режим додавання "HKCU \ Панель керування \ Desktop" / v Шпалери / f / t REG_SZ / d% windir%: \ Desktop \ wallpaper.bmp reg Додати "HKCU \ Панель управління \ Настільний "/ v WallpaperStyle / f / t REG_SZ / d 10 ::% SystemRoot% \ System32 \ RUNDLL32.EXE user32.dll, UpdatePerUserSystemParameters

Наведене вище встановить зображення і змусить Windows зробити свою магію, щоб перетворити зображення в bmp і зберігати його в потрібному місці.

Річ у тому, що він шукає% windir% \ Desktop \ wallpaper.bmp, а не% userprofile% \ Desktop \ eye.jpg, і для цього він не працює.

Розмістіть bmp-версію на% windir% \ Desktop з назвою wallpaper.bmp або змініть цей шлях. Зверніть увагу, якщо ви зміните шлях, можливо, якщо ви перемістите файл в інше місце, ваш фон при наступному перезавантаженні стане чорним.


Насправді сценарій працює, але повертається назад після перезавантаження. Я говорю про те, про що я подумав і про що питав у питанні (першому).
Невідомий Провідник

Звичайно, я знаю, що для другого потрібен bmp-образ, але мені цікаво, чому перший працює лише перед перезавантаженням.
Невідомий дослідник

Це дуже важлива інформація. Вам потрібно додати таку інформацію до свого питання, щоб отримати хороші відповіді. Я не знаю, чому це працює лише один раз.
LPChip

0

Метод реєстру не працює весь час, особливо якщо зображення не у форматі bmp, тож ви можете спробувати мій метод. Він просто відкриє потрібне зображення за допомогою засобу перегляду фотографій Windows і скористайтеся комбінацією клавіш, щоб встановити зображення як шпалери робочого столу.

Dim wShell
set wShell = createobject("Wscript.shell")
wShell.Run "cmd /c start " & Your photo path here,0,True

do
     wscript.sleep 100
loop until wShell.appactivate("Windows Photo Viewer") = true

wShell.Sendkeys  ("+{F10}")
WScript.Sleep 100
wShell.Sendkeys  "k"
wShell.Exec "taskkill /im dllhost.exe"

Це сценарій vbs, але ви можете використовувати той самий метод, використовуючи cmd

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.