Skip to content

moliushangxue/FileFinder

Repository files navigation

FileFinder

作者:GitHub:moliushangxue

一个简单易用的批量文件筛选和操作工具,支持按文件名关键词搜索、按文件类型筛选,并提供复制/剪切/移动功能。

Platform Python License

功能特点

  • 文件夹选择: 轻松选择源文件夹和目标文件夹
  • 多关键词搜索: 支持同时输入多个关键词,每行一个,快速查找文件
  • 递归搜索: 支持递归搜索子文件夹,文件列表显示相对路径
  • 文件类型筛选: 自动检测文件夹中的文件类型,横向滚动排列,可选择特定扩展名进行筛选
  • 文件预览: 选中文件后右侧面板实时预览内容
    • 纯文本文件(59 种格式)直接显示
    • Office 文档(.docx / .xlsx / .pptx)智能解析提取文本
    • 图片/音视频/压缩包等显示文件信息
  • 文件冲突处理: 复制/移动时自动检测同名文件冲突,支持覆盖/重命名/跳过
  • 灵活选择: 支持全选、全不选、反选等多种文件选择方式
  • 多种操作: 支持复制、剪切、直接移动到目标文件夹
  • 剪贴板操作:
    • 复制文件路径到剪贴板(文本格式)
    • 复制文件本体到剪贴板(可在其他位置粘贴文件)

⚠️ 重要提示

使用本工具前,请务必阅读以下全部内容。

本工具涉及文件复制、移动、剪切等操作,这些操作不可逆,请谨慎操作。

  1. 操作不可逆:文件移动(剪切)和复制操作执行后,无法通过本工具撤销。请在操作前确认目标路径正确。

  2. 做好备份:使用本工具前,请务必对重要文件进行备份。因文件丢失、损坏或误操作导致的任何损失,由用户自行承担。

  3. 结果自负:本工具按「原样」提供,不对以下情况承担任何责任:

    • 文件在操作过程中丢失、损坏或被覆盖
    • 因同名文件冲突处理方式选择不当导致的数据丢失
    • 因用户误选文件或误选目标文件夹导致的后果
    • 任何直接或间接的数据损失或业务中断
  4. 本人不对本工具的适用性、安全性、准确性做任何明示或暗示的保证,包括但不限于:

    • 本工具适合特定用途
    • 本工具运行过程无错误
    • 本工具中的任何功能将符合用户的预期
  5. 因使用本工具所引发的任何直接或间接的损害,包括但不限于文件丢失、数据损坏、系统故障或其他任何形式的损失,本人概不承担任何责任。

  6. 使用即表示理解并同意以上全部内容。如不同意上述条款,请勿使用本工具。

"本人不对任何因使用或无法使用本工具而产生的损失负责,包括但不限于直接损失、间接损失、偶然损失或特殊损失,即使已被告知发生此类损失的可能性。"

English: "In no event shall the author be liable for any damages (including, without limitation, lost data, file corruption, or any other damages) arising out of the use or inability to use this tool."

快速开始

安装要求

  • Python 3.6 或更高版本
  • tkinter(通常随 Python 一起安装)

使用方法

1. 克隆或下载项目

git clone https://github.com/moliushangxue/FileFinder.git
cd FileFinder

或者直接下载 ZIP 文件并解压。

2. 启动程序

方式一:双击批处理文件(Windows)

双击 "启动文件管理工具.bat"

方式二:命令行启动

python file_manager.py

3. 使用步骤

  1. 选择源文件夹: 点击"浏览..."按钮选择要扫描的文件夹
  2. 递归搜索(可选): 勾选"递归搜索子文件夹"可遍历所有子目录
  3. 输入关键词 (可选): 在文本框中输入搜索关键词,每行一个
    • 可以输入一个或多个关键词
    • 留空则显示所有文件
    • 示例:
      001
      002
      报告
      总结
      
    • 点击"清空关键词"可一键清空输入框
  4. 选择文件类型 (可选):
    • 点击"全选"选择所有文件类型
    • 点击"全不选"取消所有选择
    • 点击"常用类型"快速选择常见文件格式
    • 或者手动勾选需要的文件扩展名(横向滚动浏览)
  5. 扫描文件: 点击"扫描文件"按钮,符合条件的文件将显示在列表中
  6. 预览文件: 点击文件列表中的文件,右侧面板自动显示预览
    • 文本文件显示内容
    • Office 文档解析提取文本
    • 其他格式显示文件类型和大小
  7. 选择文件: 在文件列表中选择要操作的文件(支持多选)
    • 使用"全选"、"全不选"、"反选"按钮快速选择
    • 剪贴板操作(在"剪贴板操作"区域):
      • 复制路径到剪贴板: 将选中文件的完整路径复制到剪贴板(文本格式)
      • 复制文件到剪贴板: 将选中文件本体复制到剪贴板,可在其他位置粘贴文件
  8. 选择目标文件夹: 点击"浏览..."按钮选择目标文件夹
  9. 执行操作: 根据需要点击以下按钮之一:
    • 复制到目标文件夹: 复制选中文件到目标位置(保留原文件)
    • 剪切到目标文件夹: 移动选中文件到目标位置(删除原文件)
    • 直接移动: 同剪切功能

文件冲突处理

当目标文件夹中已存在同名文件,或选中的多个源文件之间存在同名时,会弹出冲突对话框:

  • 覆盖: 用源文件替换目标文件
  • 重命名: 自动添加编号后缀,如 file(1).txtfile(2).txt
  • 跳过: 不处理该文件

支持"全部覆盖"、"全部重命名"、"全部跳过"批量操作,也可点击"取消"终止整个操作。

文件预览支持的格式

类别 格式 预览方式
纯文本 .txt .py .js .ts .json .html .css .md 等 59 种 直接显示内容
Word .docx 按段落提取纯文本
Excel .xlsx .xlsm 提取所有 sheet 文本
PowerPoint .pptx 提取幻灯片文本
旧版 Office .doc .xls .ppt 提示转换格式
图片 .jpg .png .gif .bmp .svg 等 显示文件信息
音频 .mp3 .wav .flac 等 显示文件信息
视频 .mp4 .avi .mkv 等 显示文件信息
压缩包 .zip .rar .7z 等 显示文件信息
PDF .pdf 显示文件信息

功能详解

多关键词搜索

FileFinder 支持同时搜索多个关键词,非常适合批量查找文件:

使用场景示例:

  • 查找多个编号的文件:001, 002, 003
  • 查找包含特定文字的文件:报告, 总结, 计划
  • 混合搜索:2024, 预算, .xlsx

递归搜索子文件夹

勾选源文件夹区域的"递归搜索子文件夹"复选框,即可扫描所有子目录中的文件。

  • 文件列表显示相对路径(如 子文件夹A\report.txt),方便定位来源
  • 文件类型筛选自动检测所有子目录中的扩展名
  • 适合处理多层嵌套的文件夹结构

剪贴板功能

复制路径到剪贴板

选中文件后,点击"复制路径到剪贴板"按钮,可以将选中文件的完整路径以文本形式复制到剪贴板。

  • 每个文件路径占一行
  • 可以直接在其他地方(如文档、聊天窗口、命令行等)粘贴使用
  • 适合需要分享文件路径或批量处理的场景

复制文件到剪贴板

选中文件后,点击"复制文件到剪贴板"按钮,可以将文件本体复制到系统剪贴板。

  • 复制后可以在任何文件夹中按 Ctrl+V (Mac: Cmd+V) 粘贴文件
  • 可以粘贴到邮件附件、聊天窗口等支持文件粘贴的地方
  • 相当于在资源管理器中右键复制文件的效果
  • 支持同时复制多个文件

文件类型筛选

首次扫描时,FileFinder 会自动检测文件夹中所有的文件类型,并以横向滚动排列的方式展示:

  • 全选: 选择所有文件类型
  • 全不选: 取消所有选择
  • 常用类型: 快速选择常见的文件格式(图片、文档、媒体、压缩包等)
  • 手动选择: 勾选你需要的特定文件扩展名,横向滚动浏览

常见问题

Q: 为什么复制文件到剪贴板后无法粘贴?

A: 请确保:

  • Windows: PowerShell 可用(系统自带)
  • macOS: Finder 正常运行
  • Linux: 已安装 xclip (sudo apt-get install xclip)

Q: 搜索时区分大小写吗?

A: 不区分,FileFinder 会忽略大小写进行搜索。

Q: 可以搜索子文件夹吗?

A: 可以!勾选"递归搜索子文件夹"复选框即可遍历所有子目录。

Q: 如果目标文件夹有同名文件怎么办?

A: 会弹出冲突对话框,支持覆盖、重命名(自动添加编号后缀)或跳过。也可选择批量操作。

Q: 为什么 .docx 文件预览是乱码?

A: 请确保使用 v2.0 或更高版本。旧版本将 .docx 当作文本读取,v2.0 起已支持 Office 文档解析预览。

Q: 旧版 Office 格式(.doc/.xls/.ppt)能预览吗?

A: 这些是二进制格式,无法直接提取文本。建议转换为 .docx/.xlsx/.pptx 后预览。

系统要求

  • Python: 3.6 或更高版本
  • tkinter: 通常随 Python 一起安装
  • 操作系统:
    • Windows 7 或更高版本
    • macOS 10.10 或更高版本
    • Linux(需要安装 xclip)

开发

如果你想修改或贡献代码:

# 克隆仓库
git clone https://github.com/moliushangxue/FileFinder.git
cd FileFinder

# 运行程序
python file_manager.py

许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件

贡献

欢迎提交 Issue 和 Pull Request!

更新日志

详见 CHANGELOG.md

联系方式

如有问题或建议,欢迎提交 Issue。

About

FileFinder是一个基于 Python + Tkinter 的跨平台桌面文件管理工具:支持多关键词搜索、递归子文件夹、文件预览(纯文本 + Office 文档解析)和冲突处理。可批量复制/移动,或直接将文件复制到系统剪贴板(Ctrl+V 粘贴到任意位置)。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors