Windows 10中当前桌面背景的路径?


68

此处还有另一个问题,允许用户通过cmd命令查找到其当前背景图像的路径。

如何找到当前桌面映像的路径?

在Windows 10中,这不再起作用。它仅返回文件夹中的第一张图像,在过渡时不会随背景变化。我需要一个类似的命令来将路径返回到桌面背景上当前图像的路径(如果存在的话),该桌面背景在Windows 10中可以正常使用。

Answers:


111

通过在Windows File Explorer地址栏中键入以下路径,可以找到当前墙纸的副本。

路径1-
%AppData%\Microsoft\Windows\Themes\CachedFiles

如果在这里找不到当前桌面背景图像的副本,请尝试以下路径。

路径2-
%AppData%\Microsoft\Windows\Themes\TranscodedWallpaper

注意TranscodedWallpaper路径2中的文件没有文件扩展名。使用“打开方式”或“如何打开此文件?” 对话框,然后选择任何图像查看器,例如“ Windows Photo Viewer”,“ Honeyview”或“ Photos”应用。

Windows 10注意:以上位置有限制。例如,如果您要查找的墙纸在“设置”应用的“背景”标签中不再可见,则无法恢复。它将适用于您的最后五张壁纸,但没有更旧的了。(来源

可以在以下位置找到默认的Windows壁纸

%SystemRoot%\Web

您会看到3个文件夹

  • 4K ”用于4K壁纸,
  • 屏幕 ”表示锁定屏幕的背景,&
  • 默认Windows墙纸的“ 墙纸

安装的主题(Aero等):

%SystemRoot%\Resources\Themes

每用户安装的主题(包括从OEM预安装的主题):

%LocalAppData%\Microsoft\Windows\Themes  

如果您正在寻找锁屏图像的位置-请访问 SuperUser问题。

我个人使用John的背景切换器来管理桌面背景。

John的背景切换器具有查看当前/以前的桌面背景(由应用程序本身设置)的选项。请按照以下步骤操作-

  1. 右键单击任务栏图标,然后选择“ 查看当前图片”,当前桌面背景将在Windows Photo Viewer(或默认的图像查看器)中打开。
  2. 在Windows Photo Viewer中,您可以右键单击图像并选择“ 打开文件位置”以在Windows File Explorer中查看当前桌面背景的原始位置。

要在Windows 10中激活Windows Photo Viewer,请访问HowToGeek上的文章。


切换台的问题是我需要一个Python脚本才能轮询路径。先前的命令在Windows 7中运行良好。此外,Windows 10计算机上甚至不存在新路径。
cujo 2015年

添加了第二条路径
xypha

从现在起,我不必希望它监视文件属性的更改,但是它确实起作用。谢谢
cujo 2015年

此方法不提供原始照片的位置,而是提供Windows为准备显示而制作的副本。
爱德华·布雷

@Edward Brey-使用John的背景切换器(或其他几个切换器/下载器)来切换壁纸并查找原始位置。据我所知,Windows 10本身并不支持它。也许将它作为一项功能请求提出给Microsoft反馈
xypha,

8

我使用的是Windows 10版本1709。其他答案之一是让我在注册表中查找内容,并在以下位置找到了我所需要的清晰文本:

HKEY_CURRENT_USER\Control Panel\Desktop\WallPaper

无需解码。


我使用Bing Desktop更改壁纸。我能够使用此方法找到那些墙纸图像的路径。谢谢!
anacron

3

Windows 8和Windows 10仍存储当前背景图像的原始路径-而不是xypha的答案中所示的缓存/转码文件:

HKEY_CURRENT_USER\Control Panel\Desktop\TranscodedImageCache

微软不希望事情变得简单:这不是纯文本,因此您必须从二进制文件中解码。

Winhelponline网站已经编译了两个脚本(VBA和PowerShell),可以打印图像名称,并启动资源管理器以指向图像文件。

http://www.winhelponline.com/blog/find-current-wallpaper-file-path-windows-10/


1
这不适用于多个显示器。未经单一显示验证。
cujo

您是否已检查该文章中的所有注册表位置?
w32sh

0

要获取明文形式的“转码” PATH,请在PowerShell中执行以下操作:

$TIC=(Get-ItemProperty 'HKCU:\Control Panel\Desktop' TranscodedImageCache -ErrorAction Stop).TranscodedImageCache
[System.Text.Encoding]::Unicode.GetString($TIC) -replace '(.+)([A-Z]:[0-9a-zA-Z\\])+','$2'

0

您没有确切说明要实现的目标,因此我可以根据猜测给出一些提示:您想在特定条件下更改墙纸(例如,每次重新启动计算机时都换一张墙纸)或使用自定义文件作为墙纸。

在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,而无需将任何内容写入磁盘(如上所述)。

更好的方法是使用“锁定文件夹”选项。将BioniX设置为每60秒更改一次墙纸(不用担心,因为仅使用一个文件,所以每60秒将不会看到新墙纸)。将BioniX设置为锁定任何文件夹(假设C:\Wallpapers)。在该文件夹中,您放入了一个名为的文件My Wallpaper.jpg。BioniX将每60秒将该文件用作墙纸。现在,每次要更改墙纸时,都My Wallpaper.jpg用新文件替换旧墙纸。BioniX将看到您对文件夹所做的更改并应用新文件(60秒内)。


让我们知道您想使用脚本实现什么以获得更好的解决方案。


1
问题表明我正在寻找当前文件的路径,而不是主动地设置它。我认为这很清楚,我正在努力实现。您的解决方案只讨论以编程方式设置它,而不是返回路径时。
cujo

1
@cujo-我的答案还告诉您在哪里可以找到文件-并给您一些有关使用此方法的警告。
WeGoToMars

我指的是“解决方案”,因为您的答案并不主要关注所要提出的问题,而更多地关注于对环境进行动态编程
cujo

我阅读了您的答案,它没有添加有关尚未显示的文件位置的新信息。您谈论的是无关紧要的问题。您提出的问题不在问题范围内。路径就是路径,长宽比无关紧要。
cujo

2
@Empire-对我来说,这2年龄问题的范围已得到公认的答案。问题是,“如果存在,我需要一个类似的命令来将路径返回到当前在Windows 10中实际工作的桌面背景上的当前图像。” 接受的答案提供了该答案(即%AppData%\Microsoft\Windows\Themes\CachedFiles
Ramhound
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.