如何创建外部硬盘上现有的文件和文件夹的数据库?

如何创建外部硬盘上现有的文件和文件夹的数据库?

我有一个 1 TB 的外部硬盘,里面有很多媒体文件(单独保存或保存在不同的文件夹中)、书籍、软件等。我想创建一个数据库文件,也许是一个电子表格文件,它可以显示外部驱动器中现有文件的列表。我想搜索该文件并找到我要找的媒体,即使硬盘未连接到系统。

在 Windows 10 中,我使用 Easy Disk Catalog Maker 来完成这项工作,但我找不到适用于 Linux 的类似软件。那么我该怎么做呢?

答案1

如果您只想要一个文件列表,您可以使用一个简单的find,就像@Raffa评论的那样。

find /PATH/TO/EXTERNAL/HDD/ -type f -follow > "/PATH/TO/SAVE/file_list.txt"

如果您想保存多媒体文件的元数据信息,可以使用mediainfo,它可以读取音频、视频和图片文件的信息:

find /PATH/TO/EXTERNAL/HDD/ -type f -follow \
  -exec mediainfo -f --Output=XML + > "/PATH/TO/SAVE/file_list.xml"

然后您可以使用任何常规 xml 解析器读取输出,例如xmlstarlet

xmlstarlet sel -t -v '/Mediainfo/File/track/Complete_name' -n "/PATH/TO/SAVE/file_list.xml"

或者例如仅搜索图像:

xmlstarlet sel -t \
  -v '/Mediainfo/File/track[@type="Image"]/../track/Complete_name' \
  -n \
  "/PATH/TO/SAVE/file_list.xml"

或者查找文件大小 > 1MB 的所有图像:

xmlstarlet sel -t \
  -v '/Mediainfo/File/track[@type="Image"]/../track[@type="General"][File_size[1] > 1048576]/Complete_name' \
  -n \
  "/PATH/TO/SAVE/file_list.xml"

安装:

sudo apt install mediainfo
sudo apt install xmlstarlet

答案2

虚拟卷视图是一个开源且免费的 GUI 解决方案:

VVV 是一款应用程序,它可以对可移动卷(如 CD 和 DVD 磁盘)的内容进行编目,以便进行离线搜索。文件夹和文件也可以排列在单个虚拟文件系统中。此虚拟文件系统的每个文件夹都可以包含来自多个磁盘的文件,因此您可以以简单而合乎逻辑的方式排列数据。

VVV 还存储音频文件的元数据信息:作者、标题、专辑等。支持大多数音频格式。

  • 下载Linux 版本。
  • 提取下载的VVV-*.tar.gz文件。
  • 在终端中cd进入解压的目录然后运行bash vvv-start.sh

要在桌面上添加 VVV 启动器:

在终端中运行:

nano ~/Desktop/vvvapp.desktop

将其复制并粘贴到编辑器中,更改为反映系统上/FULL/PATH/TO/vvv-start.sh的完整路径:vvv-start.sh

[Desktop Entry]
Type=Application
Exec=/FULL/PATH/TO/vvv-start.sh
Name=Virtual Volumes View

关闭编辑器并按Ctrl+保存文件,x然后通过运行使文件可执行:yEnter

chmod u+x ~/Desktop/vvvapp.desktop

相关内容