☰
多文件夹图片一键集中:Windows/macOS批量复制整理技巧
2026/10/14 4:18:00 网站建设 项目流程

手机相册、网盘下载、客户发来的压缩包、相机拍完的原始文件夹……我猜你跟我一样,手头至少有三五个地方都堆着图片。真要做一个PPT、建一个素材库、或者把旅行照片统一归档的时候,问题就来了:这些图根本不在一个文件夹里,翻来翻去能把人逼疯。今天这篇东西不聊大道理,就讲四招怎么把散落在多个文件夹里的图片快速集中到一个文件夹——Windows和macOS都有,新手照着抄就行。

1. 动手之前,先把三个核心问题想明白

很多人一上来就急着复制粘贴,结果弄到一半发现文件夹里全是“1.jpg”、“2.jpg”,几十个重名文件把目标文件夹搅成一锅粥。所以我建议你先花两分钟,把下面几个问题想清楚,再决定用哪种技巧。

1.1 你要的是“复制”还是“移动”

这是最容易被忽略的一点。复制是源文件还在原处,移动是源文件直接消失。新手我强烈建议默认选复制,等目标文件夹确认无误之后,再手动回头删掉原文件夹。别觉得多此一举,我见过太多次“剪切到一半因为某个文件占用中断,结果原文件夹里的文件不翼而飞”的翻车现场。磁盘空间够就复制,空间紧张再移动,顺序上永远先复制后清理。

1.2 你心里要清楚一共涉及多少个文件夹

文件夹数量直接决定选哪个技巧。就两三个文件夹,手动全选复制几分钟搞定,没必要折腾脚本;有几十个文件夹,还散落在不同磁盘,那必须上搜索筛选或者脚本自动化。这里给你一张速查表:

你的实际场景推荐技巧为什么选它
两三个文件夹,几十张图技巧1:系统搜索 + 全选复制最快,零学习成本
一个大盘里散落几百个文件夹技巧2:Everything 全局搜索毫秒级出结果,双击就收
经常要从固定目录批量收图技巧3:PowerShell 脚本一键跑完,重复利用
macOS 用户整理相册、设计素材技巧4:访达搜索 + 智能文件夹苹果原生方案,还能自动更新

1.3 同名文件是最大的隐藏杀手

不同子文件夹里各有一张“压缩包封面.jpg”,这种情况太常见了。合并的时候,系统只能保留一个,另一个要么被覆盖,要么弹窗让你一个一个选。所以正规操作里一定有个步骤叫“排重”。后面的技巧里我会专门讲怎么处理重名,这里先记住结论:不要无脑覆盖,尤其是素材类文件,名字一样内容不一定一样。

2. 基础技巧:系统自带搜索,把图片筛出来再统一复制

这是最适合新手的第一招,完全不用装软件,Windows 和 macOS 都能做。核心思路是:不要一个个打开子文件夹去复制,而是让系统把“所有子文件夹里符合条件的图片”一次性列出来,然后全选、复制、粘贴。

2.1 技巧1:Windows 资源管理器搜索语法 + Ctrl+A 全选复制

打开图片最上层的那个根目录,比如你的素材全在“E:\下载素材”下面,那就进到这个文件夹里。在右上角搜索框输入:

*.jpg OR *.png OR *.webp

回车之后,资源管理器会把这个目录下所有子文件夹里匹配的文件全部平铺展示在搜索结果里,不管它们原来散落在哪一层。这时候 Crtl+A 全选,Ctrl+C 复制,再打开目标收集文件夹,Ctrl+V 粘贴,完事。

这里有几个关键细节要提醒你:

搜什么格式要想清楚。最常见的三种是 jpg、png、webp,你可以按需加 gif、bmp、tiff。如果你做设计、摄影,还要考虑 raw、psd,这些要在搜索词里单独写,或者干脆先用扩展名过滤再手动挑。

搜索结果里面 Ctrl+A 会选中全部结果。如果搜索词只写了“图片”这种宽泛词,结果里可能混入视频、文档,所以要养成带扩展名的习惯。

复制时遇到同名文件会弹窗“替换或跳过”。请勾选“为所有当前项目执行此操作”,再选“跳过”。先让能过去的都过去,剩下的重名文件后面单独处理,这样比一个个点按钮快十倍。

想要更精确的话,Windows 搜索还支持ext:语法,比如搜ext:.jpg,也可以先搜 *.jpg 再在“搜索”选项卡里点开筛选条件。甚至输入kind:=picture也能筛出图片,但实际体验下来,直接写扩展名组合反而最可控。

实测下来,这个技巧适合文件夹数量在十个以内、文件量几千张以下的场景。文件夹再多,搜索结果的生成速度会明显变慢,而且一次性选中复制几千个文件时,资源管理器容易卡住,这时候就该切到后面讲的高级方案了。

2.2 技巧2:macOS 访达搜索 + 智能文件夹,苹果用户也能秒会

Windows 用户可能不知道,macOS 的访达也内置了类似能力,而且它的“智能文件夹”比 Windows 搜索更好用。

打开访达,进入素材根目录,按Cmd + F进入搜索模式。默认搜索条件是“名称”,把它改成“种类”,然后输入“图像”。如果你想更精确,也可以点右上角的“+”,继续添加“文件类型”条件,填 JPEG、PNG 等。

出来的结果同样是跨文件夹平铺展示。全选Cmd + A,拷贝Cmd + C,到目标文件夹粘贴Cmd + V,就完成了。

但 macOS 真正的加分项是智能文件夹。你在搜索结果页面点“存储”,命名后保存到边栏,以后每次打开这个智能文件夹,系统都会自动把符合条件的图片汇集到同一个虚拟列表里,不用真的移动任何文件。这个“逻辑集中”的思路非常省事,图片后续新增了也会自动出现在里面,适合做长期素材收集。

我第一次用智能文件夹的时候挺震惊的,因为它不占用额外磁盘空间,本质是一个动态搜索视图。对于不想把文件物理搬来搬去的人,这可能是最优雅的方案。

3. 效率技巧:用 Everything 和 PowerShell 把批量收集做到极致

如果你已经习惯上面基础操作,可以试试进一步提速。这个章节讲的两种方法,是我日常整理大量素材时真正离不开的“重武器”。

3.1 技巧3:Everything 全盘搜索,一秒钟找出所有图片

Windows 自带的搜索有个痛点:文件只要不在索引范围内,搜索就慢得让人想砸电脑。而 Everything 这个免费小工具,是基于 NTFS 文件系统的目录项直接扫描,几千兆的文件也常常是几百毫秒出结果。界面极简,双击就能用。

操作很简单。打开 Everything,在搜索框输入:

ext:jpg;ext:png;ext:webp

回车,全盘所有匹配的图片瞬间出现在窗口里。你也可以用file:*.jpg这种写法,但多扩展名用分号分隔更省事。然后在列表里 Ctrl+A 全选,Ctrl+C 复制,再到目标文件夹 Ctrl+V 粘贴,完成。

这个技巧最爽的地方是省去了“进入根目录”这个动作。很多人的素材分散在 C 盘、D 盘、移动硬盘多个地方,Everything 可以直接跨所有盘符搜索,一次找齐。

几个实测提醒:

如果想限定只找某个根目录下的图片,可以在搜索框里带上路径,比如:

E:\素材库 ext:jpg

这样既能利用全局搜索的速度,又不会把别处的同格式文件卷进来。

Everything 默认只索引 NTFS 格式的卷。如果移动硬盘是 exFAT 或 FAT32,需要在“工具 → 选项 → 索引 → 卷”里手动添加,不然搜不到外置盘里的文件。

收藏搜索条件很重要。你大概率不止一次要整理同一类型的图片。在 Everything 里设置好条件后,按Ctrl + D收藏,下次直接从收藏夹点一下,条件自动灌入,省掉重复输入。

Everything 还支持命令行工具 es.exe,可以配合脚本做自动整理,但这个话题深浅,一般用户用不上,知道有这回事就行。对我来说,Everything 最大的价值就是——它让我彻底告别了“打开资源管理器一边等加载一边发愁”的状态。

3.2 技巧4:PowerShell 脚本,把固定整理流程变成“一键运行”

如果你每周都要把某个目录树下的图片集中到另一个目录,手动搜索复制还是不够解渴。这时候用 PowerShell 写一个小脚本,双击运行,几十层子文件夹的图片瞬间拍平到目标目录。

直接上代码。打开记事本,粘贴以下内容,保存为collect-images.ps1,然后右键选“使用 PowerShell 运行”:

$srcRoot = "E:\素材库" $dstRoot = "D:\集中收集" $exts = @("*.jpg","*.jpeg","*.png","*.gif","*.webp","*.bmp","*.tiff") New-Item -ItemType Directory -Force -Path $dstRoot | Out-Null Get-ChildItem -Path "$srcRoot\*" -Recurse -Include $exts -File | Copy-Item -Destination $dstRoot -Force

解释一下每一句的作用,不然你抄了也不知道怎么改:

$srcRoot是你要扫描的根目录,改成你自己的路径,比如"F:\客户素材"。$dstRoot是收集图片的目标目录,可以提前建好,也可以让脚本自动创建。$exts是一个扩展名列表,想加*.heic就写在里面。

Get-ChildItem -Path "$srcRoot\*" -Recurse -Include $exts -File这行是核心。它从根目录开始,递归遍历所有子文件夹,筛选出匹配扩展名的文件,并且-File保证只取文件,不取文件夹。

这里有个新手特别容易踩的坑:-Include参数必须配合以\*结尾的路径才稳定生效。如果你写成Get-ChildItem -Path $srcRoot -Recurse -Include *.jpg,在某些环境下会莫名其妙搜不到任何文件。所以路径里一定要带\*。

Copy-Item -Destination $dstRoot -Force会把文件直接复制到目标目录。-Force表示覆盖同名文件,如果你不想覆盖,看下面的安全版。

安全版脚本,自动跳过重名文件:

$srcRoot = "E:\素材库" $dstRoot = "D:\集中收集" $exts = @("*.jpg","*.jpeg","*.png","*.gif","*.webp","*.bmp","*.tiff") New-Item -ItemType Directory -Force -Path $dstRoot | Out-Null Get-ChildItem -Path "$srcRoot\*" -Recurse -Include $exts -File | ForEach-Object { $target = Join-Path $dstRoot $_.Name if (-not (Test-Path $target)) { Copy-Item $_.FullName -Destination $target } else { Write-Warning "跳过重复文件: $($_.FullName)" } }

运行安全版时,遇到重名文件会在 PowerShell 窗口里打印一行警告,并且跳过不覆盖,我日常处理素材包时更推荐用这个版本。

如果你希望进一步处理,比如按修改日期自动分月归档,可以把目标路径改成按月份生成:

$subDir = Join-Path $dstRoot $_.LastWriteTime.ToString("yyyyMM") New-Item -ItemType Directory -Force -Path $subDir | Out-Null Copy-Item $_.FullName -Destination $subDir

这套脚本真正解决了“重复劳动”的问题,把首次设置的成本换成了以后每次几秒钟的收益,适合素材整理频率高的人。

4. 实操记录:一次完整的“多文件夹图片集中收集”

光讲理论不够,我带你把整个流程走一遍,顺便指出哪些环节容易翻车。

4.1 先设定一个场景

某设计师做一批电商详情页,从某素材平台批量下载了十几个压缩包,每个包里又按日期、按A/B视角分了好多层子目录。他把压缩包全部解压到“F:\素材包”后,发现里面光图片就有1200多张,散落在40多个子文件夹里。现在要把它们全部平铺到一个“F:\待选素材”文件夹里,方便用看图软件快速筛选。

4.2 按步骤正式执行

第一步,先想清楚目标。为什么是“平铺收集”?因为设计师接下来要用看图软件批量预览,一次性扫完所有候选图,所以“要不要保留文件夹结构”的答案是不需要,全部拍平。

第二步,检查磁盘空间。素材包里图片加起来约4.8GB,目标盘剩余空间充足,选择复制而不是移动。

第三步,选择工具。40多个子文件夹,用资源管理器搜索也能做,但速度不够爽,于是直接上 Everything。搜索条件输入:

F:\素材包 ext:jpg;ext:jpeg;ext:png;ext:webp

回车后,Everything 把所有图片一次性列了出来。数量刚好是1243张,和压缩包里的图片清单对上了。

第四步,全选复制。在 Everything 界面按 Ctrl+A,Ctrl+C;打开“F:\待选素材”,Ctrl+V,开始批量写入。

第五步,处理重名。复制过程中 Windows 弹了三次“有同名文件”。这里我没有选择覆盖,而是点“跳过”,先把不冲突的文件全部复制过去。结束后统计:成功复制1231张,跳过12张。

第六步,处理被跳过的重名文件。这12张图分散在几个子文件夹中,但文件名都叫“主图.png”。我用 Everything 搜索F:\素材包 主图.png,把所有同名文件在列表里排成一列,对照文件路径和大小判断哪一份才是需要的。这么做比在资源管理器里逐个翻找快得多。

整个流程走下来,不到十分钟就把1200张图收拢到了一个文件夹里,核心耗时反而是在判断重名文件上面。

4.3 为什么不推荐“把所有文件夹直接拖到一个父目录下”

有教程会让人把所有子文件夹拖到同一个目录,然后手动把里面的文件拉出来。这种物理集中方式的问题是:不同来源的子文件夹如果名字相同,Windows 会自动帮你加上“- 副本”后缀,反而生成了更多杂乱层级;就算不重名,40个文件夹依然要一个个点开,没有真正摆脱搬运。很多时候,你要的不是“文件夹层级集中”,而是“文件本身全部在一个平面里”,这才是本篇文章讲的四个技巧能解决的需求。

5. 常见问题与排查技巧实录

下面是我在实际整理过程中反复踩过、也帮不少人排过的典型问题,整理成速查表:

问题原因解决办法
复制时大量同名文件弹窗不同子文件夹存在相同文件名勾选“对所有项目执行此操作”后选“跳过”,复制完再单独处理重名
搜索结果不全,刚下载的图片搜不到Everything 索引滞后,或文件还没完全写入磁盘工具 → 选项 → 索引 → 强制重建;等几秒再搜
Everything 搜不到移动硬盘内容非 NTFS 卷未加入索引在索引选项里手动添加对应的可移动卷
复制超大数量图片到一半卡死一次性复制的文件太多,资源管理器负载过高分批复制,或用 PowerShell 按扩展名分批次执行
PowerShell 脚本提示无法执行系统默认执行策略限制脚本以管理员运行Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
图片集中后体积过大,磁盘告急忘了先检查磁盘空间整理前先看剩余容量,空间紧张时改成“移动”或先压缩源文件
文件复制完了但一些图打开是坏的源文件本身损坏,或下载未完成用工具筛选0KB文件,或把可疑文件重新下载

再补一个容易忽视的细节:如果你收集的是设计素材,扩展名很可能不止常规图片。常见的psd、heic、raw(NEF/CR2/ARW)都不是普通 jpg,是否要收进同一个文件夹,取决于你的使用场景。做电商素材,psd 往往是主力文件,不能遗漏;只是做PPT配图,那 jpg、png、webp 就够了。

另一个经常遇到的现象是:图片数量特别大时,复制时间比预想长得多。比如从机械硬盘复制几万个碎片小文件,经常要半小时以上。这时候不要干等,建议用 Everything 先筛选出文件清单,然后按照一级目录分批复制,避免单次任务过大导致断掉后不知道从哪里续。PowerShell 脚本里加一个Write-Host进度提示也能帮你定位到具体卡在哪个文件。

6. 最后再聊两句:整理素材这十几年,我的几点真实体会

最开始我收集素材的方式是“只进不出”,结果几个硬盘全是迷茫堆积的资料。后来花了一整个周末做全面整理,才意识到里面至少一半是重复文件、过期素材和根本不是图片的“图片”。所以我现在的原则是:先想清楚为什么要集中,再决定要不要物理搬文件。

如果你只是为了快速浏览和挑选,其实并不需要把所有图片复制到一个目录。Everything 的收藏搜索、macOS 的智能文件夹都能做到“逻辑集中”——文件还在原地,但你能随时把它们统一叫出来看,省空间又省时间,还没有重名和覆盖的风险。只有当你真的要把图片拿去上传、入库、做训练集、发给别人的时候,才需要物理合并,这时候用前面三种方案之一把文件拍平到一个目录就行了。

还有一点很实在:整理过一次,就要想好下一次的输入习惯。如果你经常从同一个平台、同一种压缩包结构获取素材,可以把这个 PowerShell 脚本固定下来,以后下载完直接双击运行,比每次手动搜索复制靠谱得多。工具这东西,能用顺手的就用顺手的,关键是别让自己陷进机械劳动里,把时间留给真正需要判断的事情。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询