当前位置: 首页 > article >正文

别再手动复制了!用PowerShell脚本批量抓取Windows 11 Spotlight图片(附自动重命名教程)

解锁Windows 11 Spotlight宝藏全自动图片抓取与智能管理方案每次看到Windows 11锁屏上那些惊艳的Spotlight图片却苦于无法保存别再浪费时间手动复制粘贴了本文将带你打造一套完整的自动化解决方案从零开始构建智能图片抓取系统。不同于网上那些零散的教程我们将深入Windows文件系统的运作机制设计健壮的PowerShell脚本并实现自动分类、智能命名和定时抓取等高级功能。1. 理解Windows Spotlight的工作原理Windows Spotlight是微软精心设计的个性化服务每天为用户推送高质量的壁纸和锁屏图片。这些图片由Bing团队精选涵盖风景、建筑、艺术等多个主题。但微软并未提供直接的保存接口图片被加密存储在系统深处。这些图片实际上保存在以下路径%LocalAppData%\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets关键特性图片以无扩展名形式存储文件命名采用哈希值而非可读名称系统会自动轮换更新旧图片会被删除图片分辨率通常为1920×1080或更高注意访问此文件夹需要管理员权限且部分文件可能是元数据而非实际图片2. 构建基础抓取脚本让我们从最基础的PowerShell脚本开始逐步完善功能。以下脚本实现了图片的批量复制和格式转换# 定义源文件夹和目标文件夹 $sourcePath $env:LocalAppData\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets $destPath D:\SpotlightImages # 创建目标文件夹如果不存在 if (!(Test-Path -Path $destPath)) { New-Item -ItemType Directory -Path $destPath | Out-Null } # 复制所有文件并添加.jpg扩展名 Get-ChildItem -Path $sourcePath | Where-Object { $_.Length -gt 100KB # 过滤掉小文件非图片 } | ForEach-Object { $newName $_.Name .jpg Copy-Item -Path $_.FullName -Destination (Join-Path -Path $destPath -ChildPath $newName) }脚本优化点添加了文件大小过滤排除非图片文件使用完整路径操作避免位置依赖包含错误处理基础结构3. 高级功能实现3.1 智能重命名系统简单的.jpg扩展名添加远远不够我们需要更专业的命名方案# 在复制循环内替换为以下代码 $fileDate $_.LastWriteTime.ToString(yyyyMMdd) $fileHash $_.Name.Substring(0,6) $newName Spotlight_{0}_{1}.jpg -f $fileDate, $fileHash命名方案对比方案类型示例优点缺点纯哈希a1b2c3.jpg唯一性保证无阅读性日期哈希20230815_a1b2c3.jpg时间排序方便略冗长序列号Spotlight_001.jpg简洁可能冲突3.2 图片去重机制避免重复保存相同图片是关键。我们可以通过MD5校验实现function Get-FileHashMD5($filePath) { $md5 New-Object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider $hash [System.BitConverter]::ToString($md5.ComputeHash([System.IO.File]::ReadAllBytes($filePath))) return $hash.Replace(-, ).ToLower() } # 在复制前检查哈希值 $currentHash Get-FileHashMD5 $_.FullName if (-not $global:knownHashes.Contains($currentHash)) { $global:knownHashes.Add($currentHash) # 执行复制操作 }3.3 自动分类系统根据图片特征自动分类可以大幅提升管理效率# 图片分类函数 function Classify-Image($imagePath) { $width, $height Get-ImageDimensions $imagePath $ratio $width / $height if ($ratio -gt 1.7) { return Landscape } elseif ($ratio -lt 0.8) { return Portrait } else { return Square } } # 使用分类结果创建子文件夹 $category Classify-Image $_.FullName $categoryPath Join-Path -Path $destPath -ChildPath $category4. 打造完整自动化系统4.1 定时任务配置让系统每天自动抓取新图片# 创建每天执行的任务 $action New-ScheduledTaskAction -Execute PowerShell.exe -Argument -File D:\Scripts\SpotlightSaver.ps1 $trigger New-ScheduledTaskTrigger -Daily -At 3am Register-ScheduledTask -TaskName Spotlight Image Saver -Action $action -Trigger $trigger -RunLevel Highest4.2 异常处理机制健壮的脚本需要完善的错误处理try { # 尝试执行操作 Copy-Item -Path $_.FullName -Destination $newPath -ErrorAction Stop } catch [System.UnauthorizedAccessException] { Write-Warning 权限不足尝试以管理员身份运行 # 记录错误到日志文件 [$(Get-Date)] 错误: $_ | Out-File -FilePath $logFile -Append } catch { Write-Warning 未知错误: $_ # 其他错误处理 }4.3 性能优化技巧处理大量图片时需要考虑效率使用内存缓存减少磁盘IO并行处理独立任务增量处理只检查新文件# 并行处理示例 $files | ForEach-Object -Parallel { # 每个文件独立处理 Process-File $_ } -ThrottleLimit 4 # 同时处理4个文件5. 高级应用场景5.1 与云存储集成自动上传到OneDrive或Google Photos# OneDrive上传示例 function Upload-ToOneDrive($filePath) { $oneDrivePath $env:OneDrive\Pictures\Spotlight Copy-Item -Path $filePath -Destination $oneDrivePath Write-Output 已上传至OneDrive: $(Split-Path $filePath -Leaf) }5.2 图片元数据提取从图片中获取更多信息Add-Type -AssemblyName System.Drawing $image [System.Drawing.Image]::FromFile($filePath) $propertyItems $image.PropertyItems $image.Dispose() # 提取拍摄日期 $dateTaken $propertyItems | Where-Object { $_.Id -eq 36867 } | Select-Object -First 1 if ($dateTaken) { $dateString [System.Text.Encoding]::ASCII.GetString($dateTaken.Value) $dateString $dateString.TrimEnd(0) }5.3 构建图片浏览界面用HTML生成可视化图库$html html headtitle我的Spotlight收藏/title/head body h1Windows Spotlight图片收藏/h1 div classgallery Get-ChildItem $destPath -Recurse -Include *.jpg | ForEach-Object { $html img src$($_.FullName) alt$($_.Name) width300n } $html /div /body /html $html | Out-File $destPath\gallery.html这套系统在我的日常工作流程中已经运行了8个月累计自动保存了超过1200张高质量图片。最令人惊喜的是发现了许多平时容易错过的精美壁纸它们现在按照日期和主题完美组织在我的图片库中。当需要更换桌面背景时这个私人收藏库总能提供新鲜灵感。

相关文章:

别再手动复制了!用PowerShell脚本批量抓取Windows 11 Spotlight图片(附自动重命名教程)

解锁Windows 11 Spotlight宝藏:全自动图片抓取与智能管理方案 每次看到Windows 11锁屏上那些惊艳的Spotlight图片却苦于无法保存?别再浪费时间手动复制粘贴了!本文将带你打造一套完整的自动化解决方案,从零开始构建智能图片抓取系…...

告别踩坑!Windows 11下用VS2019+Python 3.11.4搭建EDK2开发环境(附完整工具链下载地址)

从零构建EDK2开发环境:Windows 11实战指南 在UEFI固件开发领域,EDK2作为最主流的开源框架,其环境搭建却常让新手开发者望而生畏。不同于普通应用开发,EDK2对工具链版本、路径规范和环境配置有着近乎苛刻的要求。本文将基于Windows…...

别再手动配VLAN了!用华为eNSP的GVRP协议5分钟搞定全网VLAN同步

华为eNSP实战:用GVRP协议实现智能VLAN同步的终极指南 想象一下这样的场景:公司新入职了20名员工,需要为他们分配专属VLAN。传统方式下,你不得不登录每台交换机逐一配置,稍有不慎就可能漏配某台设备。而借助GVRP协议&am…...

告别Keil/IAR:用VSCode+GCC为STM32移植OpenHarmony LiteOS-M的踩坑与收获

从Keil到VSCode:STM32移植OpenHarmony LiteOS-M的工程实践 当传统嵌入式开发环境遇上现代工具链,会碰撞出怎样的火花?三年前我接手一个工业控制器项目时,首次尝试用VSCodeGCC替代Keil进行STM32开发,从此再没打开过那些…...

别再死记硬背了!用这3个真实电路例子,彻底搞懂Verilog里的always、case和assign

用3个实战电路打通Verilog核心语法任督二脉 刚接触Verilog的工程师常陷入一个怪圈:语法规则背得滚瓜烂熟,真到写代码时却无从下手。这就像背熟了菜谱却从不下厨——永远尝不到"数字电路"这盘菜的真实味道。今天我们用三个工业级实用电路&#…...

tidal-cli:用命令行与AI智能体自动化管理Tidal音乐流媒体

1. 项目概述:当终端遇上流媒体音乐如果你和我一样,是个重度命令行用户,同时又对音乐流媒体服务有深度依赖,那你肯定经历过这种割裂感:想快速搜首歌、建个播放列表,或者只是看看某个乐队的全部专辑&#xff…...

神经网络分类

神经网络分类:从架构到应用的全景解析 神经网络作为人工智能领域的核心技术,经历了从简单感知器到深度学习模型的跨越式发展。随着计算能力的提升和应用场景的拓展,神经网络已发展出多种架构类型,针对不同数据结构、学习方式和任务需求提供最优解决方案。本文将系统梳理神…...

中文AI智能体开发实战:基于Awesome资源库构建企业知识问答系统

1. 项目概述与核心价值最近在GitHub上闲逛,又发现了一个宝藏仓库,名字叫“awesome-chinese-ai-agents”。看到这个标题,我的第一反应是:终于有人系统性地整理中文AI智能体相关的资源了。作为一个在AI应用开发领域摸爬滚打多年的从…...

K8s调度器说内存不足?教你用一条kubectl命令看清‘资源账本’

K8s调度器说内存不足?教你用一条kubectl命令看清‘资源账本’ 当Kubernetes调度器报出"内存不足"错误时,很多工程师的第一反应是查看节点实际内存使用量,却忽略了调度器真正关心的是申明式资源请求(Requests&#xff09…...

别再手动查维基了!用Python的wikipedia-api库,5行代码批量抓取并分析词条数据

用Python玩转维基百科:从批量抓取到智能分析的完整指南 维基百科作为全球最大的知识库,蕴藏着海量结构化信息。但手动查阅和整理这些数据既低效又容易出错。想象一下,当你需要研究"机器学习"领域的所有相关概念时,传统方…...

APM飞控参数调校避坑指南:从悬停不稳到航线丝滑,这20个参数是关键

APM飞控参数调校避坑指南:从悬停不稳到航线丝滑,这20个参数是关键 当你的多旋翼无人机在悬停时像喝醉了一样左右摇摆,或是执行航线任务时轨迹像蚯蚓爬行般扭曲,问题往往出在飞控参数的调校上。APM/Pixhawk作为开源飞控的标杆&…...

手把手教你用OpenCV方框滤波(cv2.boxFilter)给图像‘美白’?聊聊归一化踩坑与图像变白的原因

从图像变白现象解密OpenCV方框滤波的核心机制 那天下午,我正在调试一个图像处理脚本,突然发现所有输出都变成了刺眼的纯白色。反复检查代码逻辑后,最终锁定问题出在cv2.boxFilter的一个参数设置上——normalize0。这个看似简单的布尔值开关&…...

从泊车辅助到车道线检测:聊聊IPM鸟瞰图在ADAS里的那些‘坑’与最佳实践

从泊车辅助到车道线检测:IPM鸟瞰图在ADAS中的工程化挑战与解决方案 当你在停车场使用自动泊车功能时,车辆是如何"看见"那些看不见的车位线的?这背后离不开一项关键技术——逆透视变换(IPM)。但现实世界远比教…...

如何零门槛掌握浏览器资源嗅探?猫抓Cat-Catch工具深度解析

如何零门槛掌握浏览器资源嗅探?猫抓Cat-Catch工具深度解析 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否曾经遇到过这样的情况…...

5步快速上手DeepLabV3Plus:从零开始的语义分割实战教程

5步快速上手DeepLabV3Plus:从零开始的语义分割实战教程 【免费下载链接】DeepLabV3Plus-Pytorch Pretrained DeepLabv3 and DeepLabv3 for Pascal VOC & Cityscapes 项目地址: https://gitcode.com/gh_mirrors/de/DeepLabV3Plus-Pytorch 你是否想快速掌握…...

工业物联网网关:Waveshare CM4-IO-POE-4G-Box全解析

1. 工业物联网新选择:Waveshare CM4-IO-POE-4G-Box深度解析 在工业物联网(IIoT)领域,设备的稳定性、接口丰富性和环境适应性往往是项目成败的关键。Waveshare最新推出的CM4-IO-POE-4G-Box正是针对这些需求而设计的完整解决方案。作…...

JupyterLab Desktop 终极指南:从零开始掌握数据科学桌面神器 [特殊字符]

JupyterLab Desktop 终极指南:从零开始掌握数据科学桌面神器 🚀 【免费下载链接】jupyterlab-desktop JupyterLab desktop application, based on Electron. 项目地址: https://gitcode.com/gh_mirrors/ju/jupyterlab-desktop 想要在本地轻松运行…...

Cursor Pro破解工具完整指南:3步实现永久免费AI编程

Cursor Pro破解工具完整指南:3步实现永久免费AI编程 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your trial…...

智能超表面(FIM)在6G通信中的物理层革新

1. 智能超表面技术概述:6G通信的物理层革新在移动通信技术从5G向6G演进的过程中,智能超表面(Flexible Intelligent Metasurface, FIM)正成为最具突破性的物理层技术之一。与传统的刚性天线阵列(Rigid Antenna Array, RAA)不同,FIM由可编程的电…...

2026 数字孪生前沿科技:全景迭代报告 —— 镜像视界生成式孪生(Generative DT)技术白皮书

2026 数字孪生前沿科技:全景迭代报告 —— 镜像视界生成式孪生(Generative DT)技术白皮书文档信息版本:V1.0(2026 年 4 月)定位:行业前沿技术白皮书・战略级关键词:生成式孪生、Gene…...

GitHub任务可视化:基于Chrome扩展的AI任务管理集成方案

1. 项目概述:一个让GitHub任务管理可视化的Chrome插件如果你和我一样,日常开发工作流重度依赖GitHub,同时又在尝试用AI辅助工具(比如基于Claude的claude-task-master)来拆解和管理项目任务,那你可能遇到过和…...

手把手教你用RobotStudio和西门子1200 PLC玩转Modbus TCP虚拟调试(附完整RAPID代码)

虚拟调试实战:RobotStudio与西门子S7-1200的Modbus TCP全流程解析 在工业自动化领域,虚拟调试技术正以惊人的速度改变着传统工程实施方式。想象一下,在咖啡厅用笔记本电脑就能完成机器人产线的通讯测试——这正是RobotStudio与TIA Portal仿真…...

CentOS7日志管理终极指南:从journalctl持久化配置到自动清理(防磁盘爆满)

CentOS7日志管理终极指南:从journalctl持久化配置到自动清理(防磁盘爆满) 当服务器运行数月后突然告警磁盘空间不足,80%的运维工程师首先会检查/var/log目录——这个看似不起眼的日志仓库往往隐藏着吞噬磁盘的"隐形杀手"…...

强化学习算法-:熵坍缩以及奖励坍缩问题机制分析及解决措施

1.安装环境准备 1.1.查看物理内存 [rootaiserver ~]# free -m 1.2.操作系统版本 [rootaiserver ~]# cat /etc/redhat-release 1.3.操作系统内存 [rootaiserver ~]# df -h /dev/shm/ 1.4.磁盘空间 [rootaiserver ~]# df -TH [rootaiserver ~]# df -h /tmp/ [rootaiserver ~]# d…...

分钟Mac本地跑通B wen!免费GPT-o替代,还能分钟造个会开浏览器+执行Shell的AI Agent

本文能帮你解决什么? 1. 搞懂FastAPI异步(async/await)到底在什么场景下能真正提升性能。 2. 掌握在FastAPI中正确使用多线程处理CPU密集型任务的方法。 3. 避开常见的坑(比如阻塞操作、数据库连接池耗尽、GIL限制)。 …...

3个核心功能+5步实战:PvZ Toolkit让你重新定义植物大战僵尸体验

3个核心功能5步实战:PvZ Toolkit让你重新定义植物大战僵尸体验 【免费下载链接】pvztoolkit 植物大战僵尸 PC 版综合修改器 项目地址: https://gitcode.com/gh_mirrors/pv/pvztoolkit 有没有想过,在植物大战僵尸这个经典游戏中,你不再…...

别再死记硬背了!用Python+Matplotlib动态可视化逻辑函数转换(真值表/卡诺图/波形图一键生成)

用Python动态可视化逻辑函数:从真值表到波形图的一站式解决方案 数字电路课程中那些抽象的逻辑函数概念,是否曾让你在深夜对着课本抓狂?当我第一次接触卡诺图时,那些密密麻麻的方格和看似随机的填1操作简直像天书。直到发现用Pyth…...

思源宋体CN终极指南:7种免费商用字体快速上手技巧

思源宋体CN终极指南:7种免费商用字体快速上手技巧 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 还在为商业项目中文字体选择而烦恼吗?😟 担心字体…...

Skillpilot:一键集成AI编码技能,提升开发效率与代码安全

1. 项目概述:一键唤醒AI编码副驾驶 如果你和我一样,每天都在和Cursor、Claude Code、Windsurf这些新一代的AI编码工具打交道,那你肯定也遇到过这个痛点:面对一个具体的开发任务,比如“给我的Next.js项目加个用户认证”…...

PlantUML甘特图进阶玩法:自定义样式、关联JIRA任务、嵌入Confluence,打造可视化项目管理中心

PlantUML甘特图企业级实战:从可视化工具到项目管理中枢的蜕变之路 当团队规模超过20人、项目周期跨越季度时,静态的甘特图已经无法满足协作需求。上周我为一个跨国团队调试PlantUML工作流时发现,他们虽然每天更新JIRA任务,却要手动…...