You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查找系统所有目录中的*.mp3文件并获取其绝对路径?

嘿,这个需求我经常碰到,给你分不同操作系统整理了几种实用方法,直接复制命令就能用:

在 Linux/macOS 系统中查找所有 *.mp3 文件并获取绝对路径

方法1:使用 find 命令(最可靠、实时更新)

这是最通用的方式,能实时遍历系统所有目录,返回精准的绝对路径:

find / -type f -name "*.mp3" -print

参数解释:

  • /:从系统根目录开始搜索(如果你只想搜某个特定目录,把这个换成目录路径就行,比如~/Music)
  • -type f:只搜索文件(排除目录、符号链接等)
  • -name "*.mp3":匹配后缀为.mp3的文件(大小写敏感,如果要忽略大小写,换成-iname "*.mp3")
  • -print:输出找到的文件绝对路径

如果遇到大量权限不足的报错(比如访问系统保护目录),可以把错误信息屏蔽掉:

find / -type f -name "*.mp3" ! -path "/proc/*" ! -path "/sys/*" 2>/dev/null
  • ! -path "/proc/*":排除/proc目录(系统进程虚拟目录,没必要搜)
  • 2>/dev/null:把错误输出重定向到空设备,避免屏幕被一堆权限错误刷屏

方法2:使用 locate 命令(更快,但需要更新数据库)

如果你的系统有locate工具,搜索速度会比find快很多,但它依赖本地索引数据库,不是实时的:

# 先更新索引(需要管理员权限)
sudo updatedb
# 搜索所有.mp3文件的绝对路径
locate -b "*.mp3"
  • -b:只匹配文件名部分,避免路径中包含.mp3的目录被误匹配

在 Windows 系统中查找所有 *.mp3 文件并获取绝对路径

方法1:使用命令提示符(CMD)

打开CMD(可以右键开始菜单选择「命令提示符」),输入以下命令:

# 搜索C盘所有.mp3文件,返回绝对路径
dir /s /b "C:\*.mp3"

参数解释:

  • /s:递归搜索所有子目录
  • /b:只输出纯路径(不显示文件大小、日期等额外信息)

如果要搜索多个盘符(比如C、D、E盘),可以用循环遍历:

for %d in (C D E) do @dir /s /b "%d:\*.mp3"

方法2:使用 PowerShell(更灵活,推荐)

PowerShell的功能更强大,处理结果也更方便:

# 搜索C盘所有.mp3文件,返回绝对路径
Get-ChildItem -Path C:\ -Filter *.mp3 -Recurse -File | Select-Object -ExpandProperty FullName

参数解释:

  • -Recurse:递归子目录
  • -File:只搜索文件(排除目录)
  • Select-Object -ExpandProperty FullName:只提取文件的绝对路径字段

如果要搜索所有本地盘符,可以自动遍历所有文件系统盘符:

Get-PSDrive -PSProvider FileSystem | ForEach-Object {
    Get-ChildItem -Path $_.Root -Filter *.mp3 -Recurse -File | Select-Object FullName
}

小提示

  • 搜索整个系统可能需要几分钟,取决于你的文件数量和硬盘速度
  • Linux/macOS下如果遇到权限问题,加sudo前缀执行命令即可访问系统保护目录
  • Windows下如果无法访问某些系统目录,右键以「管理员身份」打开CMD/PowerShell再执行命令

内容的提问来源于stack exchange,提问作者Erie Msi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 13:07:55