Double Commander

2.6. 批量重命名工具

內容

1. 介紹
1.1. 建議
1.2. 概述
2. 介面
3. 生成新文件名
4. 佔位符
4.1. 基本佔位符
4.2. 其他佔位符
4.3. 使用插件的佔位符
5. 文件列表
5.1. 現有列表
5.2. 基於當前文件名動態創建的列表
5.3. 基於當前新文件名列動態創建的列表
6. 修飾符
6.1. 大小寫
6.2. 查找和替換
6.2.1. 查找和替換單個序列
6.2.2. 多個序列替換
6.2.3. 多對查找和替換
6.2.4. 使用正則表達式
7. 實際重命名操作
8. 日誌
9. 預設
10. 附加配置
10.1. 在頂部顯示菜單欄
10.2. 替換無效文件名字符為
10.3. 啟動時的預設
10.4. 退出時修改的預設
10.5. 重命名日誌

1. 介紹

批量重命名工具允許我們使用不同方法一次重命名多個選定的文件。

1.1. 建議

如果我們不熟悉批量重命名工具,在實際探索之前,明智的做法是先在臨時目錄中用實際文件的副本來做一些測試。

然後,當我們掌握了概念後,我們可以使用批量重命名工具處理實際文件。

1.2. 概述

假設我們下載了一批播客MP3文件。

我們可能想要重命名它們,為每個文件起一個有意義的名稱。

這就是批量重命名工具有用的地方,它將幫助我們一次性重命名這些多個文件。


我們將從面板中選擇要重命名的元素。

然後我們通過以下方式調用批量重命名工具

2. 介面

這將打開如下所示的批量重命名工具對話框窗口:

介面

在頂部我們看到一個表格,其中包含我們從源面板選擇的文件,每行一個文件,即將被重命名。我們可以使用拖放或Shift+箭頭重新排序文件列表。要從列表中刪除文件,我們可以使用Del鍵(刪除所有文件後,Double Commander將關閉批量重命名工具)。

表格有三列:

批量重命名工具文件名預覽表
列名描述
舊文件名
該行所代表的文件的當前名稱
新文件名
如果我們確認重命名,將是的新文件名
文件路徑
文件的當前位置

我們的想法是進行一些操作,直到新文件名列顯示我們想要的實際新文件名。

然後我們將按下重命名按鈕來實際重命名文件。

3. 生成新文件名

我們有工具可以生成我們想要的新文件名。

可能的工具
類別描述
佔位符
使用文件名的當前部分、其屬性或其內容來生成新名稱的部分
文件列表
一個文本文件,每行列一個名稱,按相同順序依次應用於每個文件
修飾符
修改由上述元素生成的最終新名稱的字符

4. 佔位符

讓我們看看可以使用的佔位符。

注意:佔位符區分大小寫!

4.1. 基本佔位符

我們在標記為掩碼的左側框中定義它們。

如我們所見,我們定義了將用於形成新文件名的文件名擴展名

這些佔位符定義在方括號中。

通常,每個佔位符將返回一個字符串,該字符串將成為我們要創建的文件名或擴展名的一部分。

我們可以在一行中定義多個,新文件名部分將是所有這些的連接結果。


基本佔位符如下:

對於這兩個佔位符,我們可以包含一些佔位符來限定文件名和/或擴展名中將使用的字符範圍。

讓我們看一個表格,顯示基於此示例文件的結果:

示例文件

可能的佔位符
佔位符描述示例
[Nx]
文件名中位置x的字符[N9] = T
[N-x]
同樣,但從文件名末尾開始計數[N-5] = P
[Nx:y]
文件名中從位置x到y的字符範圍[N5:6] = 01
[N-x:-y]
同樣,但從文件名末尾計數[N-6:-7] = 06
[Nx:-y]
同樣,但首先從開始計數,最後從末尾計數[N10:-6] = 060306
[N-x:y]
同樣,但首先從末尾計數,最後從開始計數[N-16:6] = 01
[N-x:y]
同樣,但首先從末尾計數,最後從開始計數[N-16:6] = 01
[Nx,y]
字符範圍將從x開始,長度為y個字符[N10,6] = 060306
[N-x,y]
同樣,但首先從末尾計數,選取y個字符向左[N-8,4] = 0603
[Ex]
擴展名中位置x的字符[E1] = m
[E-x]
同樣,但從擴展名末尾開始計數[E-1] = 3
[Ex:y]
擴展名中從位置x到y的字符範圍[E2:3] = p3
[E-x:-y]
同樣,但從擴展名末尾計數[E-3:-2] = mp
[Ex:-y]
同樣,但首先從開始計數,最後從末尾計數[E1:-2] = mp
[E-x:y]
同樣,但首先從末尾計數,最後從開始計數[E-2:3] = p3
[Ex,y]
字符範圍將從x開始,長度為y個字符[E1,3] = mp3
[E-x,y]
同樣,但首先從末尾計數,選取y個字符向左[E-1,2] = p3

為了確保我們理解了,這裡有一個示例,我們將文件名的掩碼設置為[N1,4]-[N5,2]-[N7,2]

我們看到新文件名列已根據上述描述的替換進行了更新。

示例重命名

4.2. 其他佔位符

這裡還有一些其他佔位符,仍然使用相同的示例文件:

示例文件

其他佔位符
佔位符描述示例
[A]
表示完整文件名,包括整個路徑、目錄分隔符、擴展名、冒號和句點[A] =
完整文件名
[A...]
可以像之前一樣指定範圍 [Ax]、[Ax:y]、[A-x:-y] 等...[A-9:-5] = P0000
[Y]
文件日期年份的最後2位數字[Y] = 19
[YYYY]
4位數表示的年份[YYYY] = 2019
[M]
文件日期的月份数字[M] = 1
[MM]
月份数字,如果需要,用零填充到2位數[MM] = 01
[MMM]
月份縮寫,如"jan"、"feb"、"mar"等[MMM] = Jan
[MMMM]
完整月份名稱,如"january"、"february"等[MMMM] = January
[D]
文件日期的天數[D] = 2
[DD]
天數,如果需要,用零填充到2位數[DD] = 02
[DDD]
星期縮寫,如"mon"、"tue"、"wed"等[DDD] = Wed
[DDDD]
完整星期名稱,如"monday"、"tuesday"等[DDDD] = Wednesday
[h]
文件時間的小時數[h] = 9
[hh]
小時數,如果需要,用零填充到2位數[hh] = 09
[n]
文件時間的分鐘數[n] = 2
[nn]
分鐘數,如果需要,用零填充到2位數[nn] = 02
[s]
文件時間的秒數[s] = 7
[ss]
秒數,如果需要,用零填充到2位數[ss] = 07
[G]
動態生成的GUID形式:
{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
[G] =
16字節GUID
[Px]
直接命名完整路徑中第x級的名稱,首先靠近根目錄計數[P2] = TechPodcast
[P-x]
直接命名完整路徑中第x級的名稱,首先靠近文件名計數[P-2] = Download
[C]
為每次使用"計數器"框中的參數進行迭代的自動遞增計數器(也支持負數)[C] =數字
為每個文件遞增
[V:hint]
用戶定義的變量"hint",在實際重命名過程中會提示用戶輸入值[V:Guest] = 提示
輸入Guest的值
[[]
插入左方括號[[] = [
[]]
插入右方括號[]] = ]

這裡是另一個示例,我們使用了上述一些佔位符,將掩碼設置為

[C] - [YYYY]-[MM]-[DD] @ [hh]-[nn]-[ss]

示例重命名

隨著時間的推移,如果我們經常使用,我們將能夠憑記憶輸入我們需要的內容!

在那之前,幸運的是,我們可以按下每個掩碼下方的按鈕,然後訪問彈出菜單,這將幫助我們讓應用程序根據我們需要的內容為我們輸入。

助手使用

4.3. 使用插件的佔位符

我們還可以使用一個佔位符來調用內容插件。

它將從文件中提取選定的字段,並將其用作我們想要的新名稱的一部分。

以下示例使用多媒體插件提取MP3播客文件的長度時間,將其放在名稱中的括號內:

使用插件

5. 文件列表

我們還可以使用包含文件名列表的文本文件來重命名我們的文件。

假定該文本文件的每一行都包含要給予匹配文件的新文件名,包括擴展名,按相同的位置順序。


此列表可以

還可以從剪貼板加載文件名列表,要使用此功能,您需要打開熱鍵設置,切換到"批量重命名工具"類別,並為cm_LoadNamesFromClipboard命令設置熱鍵。

5.1. 現有列表

如果我們已經有了這樣的文件,我們將按下編輯器按鈕,然後從文件加載名稱

現有列表

然後我們將被提示指定我們的文件列表。

如果文件包含的行數與要重命名的元素數量相同,我們將在新文件名列中看到每個文件的新文件名。

實際的重命名過程只有在我們按下重命名按鈕時才會發生。

5.2. 基於當前文件名動態創建的列表

與上述描述的現有列表類似,Double Commander可以動態為我們創建此文件列表。

按下編輯器按鈕,然後編輯名稱...將使工具基於原始文件名創建一個臨時文本文件,其使用方式與前一點相同。

5.3. 基於當前新文件名列動態創建的列表

與上述相同,只是列表中的文件名來自當前的新文件名列。

當佔位符方法給出的結果"幾乎"是我們想要的文件名時,這種方法可能特別有幫助,因此我們只需做一些調整來糾正需要滿足我們需求的文件名。

以下示例顯示了使用此方法時的事件流程。

編輯新名稱列

6. 修飾符

仍然遵循並應用於上述提到的佔位符和文件列表之後,我們可以應用修飾符來改變新文件名。

這些修飾符包括:

6.1. 大小寫

可能的選項如下,將影響新文件名字符的大小寫:

即使此修飾符在掩碼框內,如果文件名來自列表,它也會被應用。

6.2. 查找和替換

查找字段中的字符串將被替換字段中的字符串替換。還提供了一些附加功能,請參見下文。搜索不區分大小寫!

附加選項:

這兩個參數也會影響正則表達式的行為。

6.2.1. 查找和替換單個序列

我們可以在字符串中查找單個字符序列並將其替換為另一個序列。

簡單查找和替換

6.2.2. 多個序列替換

但我們也可以用單個序列替換不同的序列,通過將序列放在管道符號之間,如下例所示,其中2020將替換任何出現的2017、2018或2019:

多個替換

6.2.3. 多對查找和替換

我們還可以通過將它們放在管道符號之間來定義多對序列。

每個要搜索的序列將在同一位置定義其替換。

多對查找和替換

6.2.4. 使用正則表達式

我們還可以使用正則表達式進行搜索部分的字符串以及其替換(使用替換啟用子表達式替換字段中)。

使用正則表達式

7. 實際重命名操作

當我們使用上述方法定義了所有想要的新文件名後,我們就可以啟動實際的重命名操作了。

實際重命名操作

如果發現重複名稱,Double Commander將提供中止操作或使用自動重命名添加數字:"name (1).ext"、"name (2).ext"等。請記住,在第二種情況下,自動添加的數字不會顯示在"新文件名"列中。

重命名過程結束後,應用程序將重新掃描文件並重新填充上述表格。

舊文件名列通常會顯示我們重命名過程的結果。

新文件名列也會被刷新,通過重新應用仍然定義的相同佔位符/列表/修飾符。

通常,我們應該更多地關注第一列,因為它代表了我們剛剛重命名的新實際文件名。

8. 日誌

應用程序可以創建日誌文件,或追加到現有日誌文件中,記錄啟動實際重命名時的所有重命名嘗試結果。

如果我們以後搜索原始文件名或不小心重命名的內容,這可能很有用。

9. 預設

我們可能需要重新使用與之前會話中相同的佔位符/修飾符來進行相同的批量重命名。

與其反覆重新輸入我們已經完成的相同配置,我們可以將當前配置保存在預設中,然後在以後重新使用它。

為此,我們點擊按鈕訪問與預設相關的操作,然後選擇另存為...

我們給一個有意義的名稱,現在我們已經在預設中添加了一種配置。

下次我們需要它進行批量重命名時,我們將點擊預設下拉框,選擇我們的預設,然後字段將被我們保存的內容填充。


上述提到的菜單為我們提供了與預設相關的各種操作,如加載、保存、重命名、刪除、排序等。

預設

10. 附加配置

在配置頁面中,有關批量重命名工具的附加設置存在於專用頁面中。

附加配置

10.1. 在頂部顯示菜單欄

如果我們更喜歡在窗口頂部有一個菜單欄,可以訪問所有相關功能並在菜單中查看它們,我們勾選此選項。

10.2. 替換無效文件名字符為

在我們的調整中,可能會出現無效的文件名字符出現在結果文件名中。

為了避免產生錯誤,Double Commander將用我們在該框中輸入的內容替換該無效字符。

如果我們希望簡單地去除無效字符,我們將該框留空。

替換無效文件名字符為

10.3. 啟動時的預設

此設置確定每次調用批量重命名工具時將加載的默認預設。

啟動時的預設

10.4. 退出時修改的預設

如果我們已加載現有預設,至少更改了一個設置,然後嘗試在未保存修改的預設的情況下退出批量重命名工具窗口,此選項將確定Double Commander的行為。

退出時修改的預設

10.5. 重命名日誌

這些設置有助於確定如何處理重命名日誌文件的保存。

傳統上,每個重命名日誌文件都在每個預設中定義。

但通過這裡的選項,我們可以指示Double Commander將這些日誌保存到那裡定義的單個位置,其中每次重命名操作的結果將被追加到重命名日誌文件中。

我們可以定義將日誌存儲在按天劃分的單獨目錄中。

重命名日誌

有效的HTML 4.0過渡 CSS有效!