Как получить путь к текущим обоям рабочего стола Windows
К примеру, у меня есть папка с большим количеством обоев, и глазами искать текущие обои в этой папке довольно неудобно, есть ли способ упростить процесс?
Ответы (1 шт):
Автор решения: oleksandrigo
→ Ссылка
import subprocess
r1 = r"(Get-ItemProperty 'HKCU:\Control Panel\Desktop' TranscodedImageCache -ErrorAction Stop).TranscodedImageCache"
r2 = r"[System.Text.Encoding]::Unicode.GetString({r1}) -replace '(.+)([A-Z]:[0-9a-zA-Z\\])+','$2'"
file_path = subprocess.run(
[
'powershell.exe',
"-NoProfile",
"-ExecutionPolicy",
"Bypass",
r2.replace("{r1}", r1)
],
capture_output=True,
text=True).stdout
# эта конструкция нужна так по итогу после пути в 'file_name' есть некоторое количество "лишних" символов (в виде перечеркнутых квадратов)
res = ''.join(i for i in file_path if i.isprintable())
# открывает папку с выделенным файлом текущих обоев
subprocess.Popen(r'explorer /select,{res}'.replace("{res}", res))