我如何批量链接文件?

我如何批量链接文件?

我有数百个文件夹,每个文件夹有二十个或更多的父文件夹,数量从一个到几十个不等,每个文件夹都有唯一的名称(在我的整个系统中),以便使它们全部按日期顺序正确排序。

它们的排列方式如下:

.
├── ASA Specs
├── Camera Making
├── Camera Manual
├── Camera Repair
├── CarboGel and Carbon-Q
├── Darkroom and Developers
├── defective macophot 100_files
├── Equipment
├── Ferric Gum Printing Process
├── Kodak Camera Model History
├── Large Format Forum PMs
├── LED Safelight
├── My Images
│   ├── 35 mm
│   │   ├── Ansco Easy View AF Date
│   │   ├── Balda Jubilette
│   │   ├── Bantam RF
│   │   ├── Canonet 28
│   │   ├── Canonet G-III QL-17
│   │   ├── Capital KX-100 Pinhole
│   │   ├── GumPintoids
│   │   ├── Junker P&S
│   │   ├── Kiev 4
│   │   ├── Minolta AL
│   │   ├── Motormatic 35
│   │   ├── Olympus XA
│   │   ├── Petri 7S
│   │   ├── Pony 135 Model C
│   │   ├── Ricoh Singlex II
│   │   ├── Rollei 35
│   │   ├── Sears TLS (Ricoh Singlex TLS)
│   │   ├── Signet 35
│   │   ├── Spotmatic SP
│   │   ├── Traveling Vivitar Ultra Wide and Slim
│   │   ├── Vivitar 220 SL
│   │   ├── Vivitar PZ-3125
│   │   ├── Voigtlander Vitrona
│   │   └── Zenit TTL
│   ├── Circle Wing Paper Glider
│   ├── Digital
│   │   ├── 6x24 Fine Box
│   │   ├── AutoPin 210
│   │   ├── Beach Trip Nov. 2015
│   │   ├── Brownie Bullseye
│   │   ├── Capital KX-100 conversion
│   │   ├── EM Polaroid 4x5
│   │   ├── February Snow
│   │   ├── From LG enV2
│   │   ├── From LG enV Touch
│   │   ├── from Samsung Galaxy S4
│   │   ├── Kawee Camera
│   │   ├── Kodak Starmeter
│   │   ├── Monopod
│   │   ├── Nelsonfoto Winter 2007
│   │   ├── Pin-Plate
│   │   ├── Pony 135 Model C
│   │   ├── Scans via Camera
│   │   ├── Self-Portraits
│   │   ├── Smelting Wheel Weights
│   │   ├── Speed Graphic
│   │   ├── Spring Back Conversion
│   │   ├── Three-60 9x24 Anamorph
│   │   ├── Tree on House
│   │   ├── Voigtlander Vitrona
│   │   ├── Wedding Ring
│   │   └── Zeiss-Ikon Baby Ikonta 520-18
│   ├── Digital Portfolio
│   ├── For APUG
│   ├── Found Film
│   │   ├── 120
│   │   ├── 126
│   │   ├── 127
│   │   ├── 35 mm
│   │   ├── 620
│   │   ├── 828 Bantam
│   │   └── Minolta 16
│   ├── Jazz Cam
│   ├── Keith Slater
│   │   └── Kodacolor II 127
│   ├── Large Format
│   │   ├── Aletta
│   │   ├── EM Polaroid 4x5
│   │   ├── Graphic View
│   │   ├── Kawee Camera
│   │   ├── Speed Graphic
│   │   ├── Three-60 9x24 Anamorph
│   │   └── Ziess-Ikon Ideal 9x12 cm
│   ├── Lit'l H Ranch
│   ├── Medium Format
│   │   ├── Agfa Clack
│   │   ├── Ansco Pioneer 620
│   │   ├── Ansco Shur-Shot Jr
│   │   ├── Argoflex EF
│   │   ├── Baldixette Pinhole
│   │   ├── Bencini Koroll 24-S
│   │   ├── Brownie Bullseye
│   │   ├── Brownie Flash Six-20
│   │   ├── Brownie Hawkeye Flash  #1
│   │   ├── Brownie Hawkeye Flash #2
│   │   ├── Brownie Target Six-16 Pinhole
│   │   ├── CCB Pinhole 6x6
│   │   ├── Daiichi Zenobia
│   │   ├── Debonair
│   │   ├── Hagar the Ansco Viking
│   │   ├── Kodak Duaflex IV-Kodet
│   │   ├── Kodak Reflex II
│   │   ├── Moskva-5
│   │   ├── RB67
│   │   ├── Seagull 4-B
│   │   ├── Shur-Flash Traveling Camera
│   │   ├── Spartus Full-Vue Pinhole
│   │   ├── Speedex 4.5
│   │   ├── Speedex Jr
│   │   ├── Voigtlander Rollfilmkamera
│   │   ├── Wirgin Auta 4.5
│   │   ├── Wirgin Auta 6.3
│   │   ├── Zeiss-Ikon Ikomat
│   │   ├── Zeiss-Ikon Nettar
│   │   └── Zeiss-Ikon Super Ikonta B
│   ├── Mosin Nagant Interrupter Repair
│   ├── Mosin Nagant Scope Base
│   ├── Polaroid
│   │   ├── Autofocus 660
│   │   ├── Model 210
│   │   ├── Model 350
│   │   └── SX-70
│   ├── Print Scan Shortcuts
│   ├── Rhinoceros Times
│   │   ├── Center City Soars
│   │   ├── Fun Fourth Festival 2007
│   │   ├── Fun Fourth Freedom Run 2007
│   │   ├── GYC Carnival 2007
│   │   └── Weatherspoon Solstice 2007
│   ├── Rhonda's Investigations
│   ├── Shortcuts by Film Type
│   │   ├── Acros
│   │   ├── ADOX CMS 20
│   │   ├── Agfa 400
│   │   ├── APX 400
│   │   ├── Classic 400
│   │   ├── Copex Rapid
│   │   ├── Delta 100
│   │   ├── Double-X Negative
│   │   ├── Ferrania 400
│   │   ├── Fomapan 100 - Ultra 100
│   │   ├── Fomapan 400 - Ultra 400
│   │   ├── Forte 400 - .EDU 400
│   │   ├── FP3000B
│   │   ├── FP4+
│   │   ├── HP5+
│   │   ├── Imagelink HQ
│   │   ├── J&C Pro 100
│   │   ├── Kodachrome
│   │   ├── Kodak Max 400
│   │   ├── Kodak Max 800
│   │   ├── KS 400
│   │   ├── Lucky SHD 400
│   │   ├── Maco UP100
│   │   ├── Neopan SS
│   │   ├── NPS 160
│   │   ├── NPS 400
│   │   ├── ORWO DN21 (Babylon 13)
│   │   ├── Plus X Negative
│   │   ├── Plus X Reversal
│   │   ├── Portra 160 NC
│   │   ├── Portra 160 VC
│   │   ├── Portra 400
│   │   ├── Portra 400NC
│   │   ├── Portra 400 VC
│   │   ├── Press 400
│   │   ├── Reala 400
│   │   ├── Superia 100
│   │   ├── Superia Xtra 400
│   │   ├── T400CN
│   │   ├── T-Max 400
│   │   ├── Tri-X
│   │   ├── Tri-X 320
│   │   ├── Type 664
│   │   ├── Type 667
│   │   ├── Verichrome Pan
│   │   ├── Walgreen's 400
│   │   └── XP2 Super
│   ├── Small Format
│   │   ├── Anny 44
│   │   ├── Baby Ikonta 520-18
│   │   ├── Brownie Starmeter
│   │   └── Yashica 44
│   ├── Subminiature
│   │   ├── Keychain Camera
│   │   ├── Kiev 303
│   │   ├── Minolta 16
│   │   ├── Minolta 16 II
│   │   ├── Minolta 16 MG
│   │   ├── Minolta QT
│   │   └── Olympus Pen EES-2
│   ├── Test CD
│   └── There
├── Nelsonfoto PMs
├── Photo Business Information
├── Printable Lens Hoods
└── reciprocity_files

在“我的图像”中,我将创建一个新文件夹“按日期排序的快捷方式”,并且在该文件夹内,我想要放置指向每个列出的相机内的每个文件夹(图像文件)的链接。

我已经通过拖放操作完成了部分操作,例如“按影片类型划分的快捷方式”,但有时会创建一个名为“XYZ 的快捷方式”的链接,而不是我想要的“XYZ”——到目前为止,当发生这种情况时,我不得不手动重命名这些链接。

有没有一种有效的方法来做到这一点,集体无论是从 GUI 还是命令行?如果是后者,当然,在几十个父文件夹之一中工作时,每次重复命令时最好不要输入整个文件夹路径甚至名称。

回答评论:

  • 每一个文件夹名称(代表一卷胶卷)在“我的图片”中每个相机文件夹中的文件名在我的整个系统中都是唯一的,并且以 ISO 日期开头(看起来像 20070706),结尾带有字母 A、B、C 等,表示来自同一日期的多卷胶卷(即使它们位于不同的父文件夹中),后面还有进一步的描述(使用的胶卷和显影剂)——例如,“20200913B-Ultra 400-Xtol Stock”。文件名那些文件夹是不是在其他文件夹中是唯一的;它们通常只是帧号和 .tiff 或 .jpg,这显然会在不同的卷之间重复。

  • 在“按影片类型划分的快捷方式”中成功创建链接(或可能是 Windows 类型的快捷方式,我不确定 16.04 文件管理实际上支持什么)位于同一个 NTFS 卷上已经(大约占整个索引任务的一半),手动将已按所用设备索引的文件链接到基于胶片类型的文件夹中。我通过 GUI 中的拖放操作完成此操作(按住左 Alt 键然后释放鼠标,然后出现一个菜单询问要做什么;选择“在此处链接文件”),并且多次,当拖动一组文件时,生成的链接显示为“XYZ 的快捷方式”,而不仅仅是带有链接子图标的“XYZ”。这需要手动重命名才能修复。

我现在想创建一个按日期排列的完整索引。理想情况下,“按日期排列的快捷方式”文件夹(我很乐意手动创建)将包含指向“我的图片”和相机子文件夹中每个“卷”文件夹的一个链接,仅此而已。

如果这很重要的话,我目前正在使用 16.04,并且文件位于盘片驱动器上的传统 NTFS 扩展分区上(分区有几百 GB 的可用空间,因此空间还不是问题,但这些数据很可能会在明年内移动到 EXT4 SSD,以加快加载和保存时间)。

答案1

NTFS 文件系统自 3.1 版起支持符号链接。我刚刚在具有 NTFS 文件系统的外部驱动器上进行了检查,发现它可以正常工作(不过我使用的是 20.04)。所以我认为您可以做到。

因此下面的操作应该可行:

mkdir "/full/path/to/your/My Images/Shortcuts by Date"
cd "/full/path/to/your/My Images/Shortcuts by Date"
find .. -noleaf -type d -name '[0-9][0-9][0-9][0-9][0-9][0-9]*' -exec ln -s {} . \;

这假设全部您的图像目录的名称至少以六位数字开头(名称模式[0-9][0-9][0-9][0-9][0-9][0-9]*),并且没有任何您的“其他”目录都有这样的名称。

它还假设您的“按影片类型分类的快捷方式”文件夹仅包含指向其他“编号”文件夹的符号链接,而不包含“真实”的此类文件夹。如果不是这种情况,则命令必须更复杂才能将此文件夹排除在搜索之外。

-noleaf参数通常不需要,但在非 Linux 文件系统(如 NTFS)上可能需要该参数才能正确检测所有文件夹,因此为了安全起见我将其包含在这里。

相关内容