Вы не объясняете, чего именно хотите достичь, поэтому я могу дать несколько советов, основанных на предположении: вы хотите менять свои обои в определенных условиях (например, один обои каждый раз, когда вы перезагружаете компьютер) или использовать пользовательские файл в качестве обоев.
В Windows 7 обои обычно находились в %AppData%\Microsoft\Windows\Themes\TranscodedWallpaper
.
В Windows 10 вы найдете его в %AppData%\Microsoft\Windows\Themes\CachedFiles
.
Вы также можете запросить реестр по адресу HKEY_CURRENT_USER\Control Panel\Desktop\TranscodedImageCache, но обратите внимание на предупреждения ниже о программах, которые НЕ записывают файл на диск!
Если вы хотите создать свой собственный сценарий CMD, это может быть ненадежно, если вы устанавливаете обои не из Windows, а из внешней программы. Например, если я вижу хорошего мага в своем браузере, я устанавливаю его в качестве обоев прямо оттуда. То же самое для IrfanView. Я могу легко назвать еще 10 популярных программ, которые могут изменить обои на свой путь.
Обратите внимание, что некоторые программы меняют обои, фактически не записывая файл на диск. Это можно сделать, подключившись к окну рабочего стола Microsoft Windows и рисуя прямо на его холсте. Вот как GIF/AVI анимация рисуется на рабочем столе.
Существует другая проблема, если вы создаете свой собственный скрипт: как вы обрабатываете изображения, которые не имеют такое же соотношение сторон, как у вашего рабочего стола, или когда меняется разрешение рабочего стола?
Решение (если я правильно угадал вашу проблему) состоит в том, чтобы использовать такую программу, как John Background Switcher или BioniX Desktop Background Changer. Последний гораздо более настраиваемый и может управляться из командной строки. Он также имеет автоопределение для определения наилучшего способа изменения размера изображения (заливка / подгонка / мозаика). BioniX также может рисовать GIF, ничего не записывая на диск (как описано выше).
Еще лучшим способом было бы использовать опцию "Lock on folder".
Настройте BioniX на смену обоев каждые 60 секунд (не беспокойтесь, новые обои не будут появляться каждые 60 секунд, поскольку вы будете использовать только один файл). Установите BioniX для блокировки на любую папку (скажем, c:\Wallpapers). Внутри этой папки вы помещаете один файл, который называется что-то вроде «My Wallpaper.jpg». BioniX будет использовать этот файл в качестве обоев каждые 60 секунд. Теперь каждый раз, когда вы хотите изменить обои, вы заменяете старый «My Wallpaper.jpg» новым файлом. BioniX увидит внесенные вами изменения в папку и применит новый файл (в течение 60 секунд).
Дайте нам знать, чего вы хотите достичь с помощью своего скрипта, чтобы получить лучшее решение.