Windows10系统下从192000张图片中检索复制7000个指定文件名图片的方法
Windows 10 批量匹配复制图片实现方案
完全可以实现,以下是3种不同难度的落地方法,无需安装额外付费软件即可完成:
方案1:系统自带PowerShell实现(推荐,性能最优)
Windows 10 预装PowerShell,无需额外下载软件,适合包含多层子文件夹的图片存储场景:
- 第一步:整理文件名清单,保存为纯文本文件
list.txt,确保每一行仅存1个完整文件名(含后缀,如风景照_001.jpg),无多余空格或符号,将list.txt放在图片总文件夹根目录。 - 第二步:打开图片总文件夹,在顶部地址栏输入
powershell按回车,直接在当前路径唤起PowerShell窗口。 - 第三步:复制以下命令执行,匹配到的图片会自动复制到同级的
匹配结果文件夹中:
# 读取文件名清单 $targetNames = Get-Content "list.txt" # 创建输出文件夹,已存在也不会报错 New-Item -ItemType Directory -Path "匹配结果" -Force # 遍历所有图片匹配后复制,可自行修改-Include后的后缀适配你的图片格式 Get-ChildItem -Recurse -File -Include *.jpg,*.jpeg,*.png,*.gif,*.bmp,*.webp | Where-Object { $targetNames -contains $_.Name } | Copy-Item -Destination "匹配结果"
- 优化提示:如果192000张图片全部存在同一文件夹无嵌套,可删除命令中的
-Recurse参数,执行速度会提升30%以上。
方案2:批处理脚本实现(适合纯新手)
无需学习命令逻辑,修改配置后双击即可运行:
- 新建空白文本文档,粘贴以下代码,修改前3行的路径配置为你自己的本地路径后,将文件重命名为
批量复制匹配图片.bat
@echo off :: 等号后替换为你的图片总文件夹路径 set "source_path=D:\我的图片总文件夹" :: 等号后替换为你的文件名清单txt路径 set "list_path=D:\下载\文件名清单.txt" :: 等号后替换为匹配图片要保存的目标路径 set "save_path=D:\匹配到的图片" md %save_path% for /f "usebackq delims=" %%i in ("%list_path%") do ( copy /y "%source_path%\%%i" "%save_path%\" )
- 注意:该脚本默认所有图片都在源文件夹根目录,不支持子文件夹遍历,有嵌套文件夹的场景请用方案1。
方案3:本地搜索工具实现(无需写代码)
适合完全不接触命令的用户,用本地搜索工具Everything即可完成:
- 打开Everything后将图片总文件夹添加到搜索范围,把7000个文件名用
|分隔(格式示例:img1.jpg|img2.png|img3.gif),粘贴到Everything搜索框,1秒内就能返回所有匹配结果,全选后直接复制到目标文件夹即可。
内容的提问来源于stack exchange,提问作者mohammad abufadda
相关产品推荐
相关产品推荐

