PowerRename 公用程式

PowerRename 是一種大量重新命名工具,可讓您:

  • 修改大量文件的檔名,而不會為所有檔案提供相同的名稱。
  • 在檔案名稱的目標區段上執行搜尋和取代。
  • 在多個檔案上執行規則運算式重新命名。
  • 在完成大量重新命名之前,請先檢查預覽視窗中的預期重新命名結果。
  • 完成之後復原重新命名作業。

示範

在此示範中,檔案名稱「foo」的所有執行個體都取代為「foobar」。 由於所有檔案的名稱都是唯一的,因此手動逐一完成將需要很長時間。 PowerRename 會啟用單一大量重新命名。 請注意,總管的「復原重新命名」(Ctrl+Z) 指令可以復原最後的變更。

PowerRename 示範

PowerRename 視窗

選取 WindowsFile Explorer 中的檔案後,按一下滑鼠右鍵並選取重新命名為PowerRename (僅在 PowerToys 中啟用時才會出現)。 將顯示所選專案以及搜尋和取代值、選項清單,以及顯示輸入的搜尋和取代值結果的預覽窗格。

PowerRename選單螢幕截圖

搜尋

輸入文字或規則運算式以在您的選取項目中,尋找包含與您的項目相符的條件之檔案。 您將在預覽窗格中看到相符的項目。

Replace with

輸入文字以取代先前輸入的搜尋值。 您可以在預覽窗格中看到原始文件名稱和重新命名後的文件名稱。

Use regular expressions

如果選取了,搜尋值將被解釋為規則運算式 (regex)。 [取代] 值也可以包含 regex 變數 (請參閱下面的範例)。 如果清除了,搜尋值將被解釋為純文字,並被取代為 [取代] 欄位中的文字。

有關擴展 regex 功能的設定功能表中的使用 Boost 程式庫選項的更多資訊,請參閱規則運算式部分

符合所有出現的情況

如果選取了,[搜尋] 欄位中所有符合的文字都將被取代為 [取代] 文字。 否則,僅取代檔案名稱中 [搜尋] 文字的第一個執行個體。

例如,假設檔案名稱為:powertoys-powerrename.txt

  • 搜尋:power
  • 使用以下內容重新命名:super

重新命名檔案的值將導致:

  • 符合所有出現的情況已清除:supertoys-powerrename.txt
  • 符合所有出現的情況已選取:supertoys-superrename.txt

區分大小寫

如果選取了,則 [搜尋] 欄位中指定的文字僅在大小寫相同的情況下才會符合項目中的文字。 預設情況下,是不區分大小寫符合度的。

適用於:僅限檔名

此作業僅修改檔案名稱。 例如:txt.txtNewName.txt

適用於:僅限延伸模組

此作業僅修改檔案副檔名。 例如:txt.txttxt.NewExtension

包含檔案

清除會導致檔案未包含在作業中。

包含資料夾

清除會導致資料夾未包含在作業中。

包含子資料夾

清除會導致資料夾中的檔案未包含在作業中。 預設情況下,包含所有子資料夾項目。

文字格式

在四個選項之間進行選擇,將項目轉換為全部小寫、全部大寫、標題大寫 (句子的第一個字元大寫) 或將每個單字大寫。

列舉項目

如果選取了,您可以使用以下模式做為 [取代為] 文字的一部分:

變數樣式 說明
${} 一個簡單的計數器,對於第一個重新命名的檔案將從零開始。
${increment=X} 具有自訂增量值的計數器。
${padding=X} 具有指定數量的前置零的計數器。
${start=X} 具有自訂初始值的計數器。

您也可以在同一取代字串中使用多個計數器並組合自訂。

例如,假設有一個 [搜尋] 文字a和一組檔案:

  • a.jpg
  • ab.jpg
  • abc.jpg

[取代為] 文字Image_${padding=4;increment=2;start=10}_將產生以下內容:

  • Image_0010_.jpg
  • Image_0012_b.jpg
  • Image_0014_bc.jpg

使用檔案建立日期和時間取代

透過根據以下資料表輸入變數模式,可以在 [取代為] 文字中使用檔案的建立日期和時間屬性。 選取 [取代為] 欄位中的工具提示可讓您檢視並選取支援的模式。

變數樣式 說明
$YYYY 年份,由完整的四位或五位數字表示,取決於所使用的日曆。
$YY 年份,僅由最後兩位數字表示。 單一位數年份會新增前置零。
$Y 年份,僅由最後一位數字表示。
$MMMM 月份的名稱。
$MMM 月份的縮寫名稱。
$MM 月份,以含有前置零的數字表示單一位數月份。
$M 月份,以不含前導零的數字表示單一位數月份。
$DDDD 星期幾的名稱。
$DDD 星期幾的縮寫名稱。
$DD 月份中的一日,以含有前導零的數字表示單一位數日。
$D 月份中的一日,以不含前導零的數字表示單一位數日。
$hh 小時,具有單一位數小時前置零。
$h 小時,不具有單一位數小時前置零。
$mm 分鐘,具有單一位數分鐘前置零。
$m 分鐘,不具有單一位數分鐘前置零。
$ss 秒鐘,具有單一位數秒鐘前置零。
$s 秒鐘,不具有單一位數秒鐘前置零。
$fff 毫秒,以完整三位數表示。
$ff 毫秒,僅以前兩位數表示。
$f 毫秒,僅以第一位數表示。

例如,假設檔案名稱為:

  • powertoys.png,建立於11/02/2020 (十一月二日)
  • powertoys-menu.png,建立於 11/03/2020 (十一月三日)

輸入條件以重新命名項目:

  • 搜尋:powertoys
  • 使用以下內容重新命名:$MMM-$DD-$YY-powertoys

重新命名檔案的值將導致:

  • Nov-02-20-powertoys.png
  • Nov-03-20-powertoys-menu.png

規則運算式

在大部分的使用案例中,簡單的搜尋和取代就已足夠。 然而,有時複雜的重新命名工作可能需要更多的控制項。 規則運算式可以提供幫助。

規則運算式會定義文字的搜尋模式。 它們可用來搜尋、編輯及操作文字。 對於特定的字串,規則運算式定義的模式可能會相符一次、多次或根本不相符。 PowerRename 使用現代程式語言中常見的 ECMAScript 語法。

若要啟用規則運算式,請選取 [使用規則運算式]。 注意:使用正規表示式時,您可能需要選擇「符合所有符合項目」。

若要使用 Boost 程式庫而不是標準程式庫,請在 PowerToys 設定中選取 使用 Boost 程式庫選項。 它能啟用標準程式庫不支援的延伸模組,例如 lookbehind

規則運算式的範例

簡單的比對範例。

搜尋 描述
^ 比對檔案名稱的開頭 (零大小)
$ 比對檔案名稱的結尾 (零大小)
.* 比對名稱中的所有文字
^foo 比對開頭為「foo」的文字
bar$ 比對以「bar」結尾的文字
^foo.*bar$ 比對開頭為「foo」且結尾為「bar」的文字
.+?(?=bar) 將所有內容與「bar」相比對
foo[\s\S]*bar 將所有內容與「foo」和「bar」(之間和包括) 比對

比對和變數範例。 擷取群組定義於括號中()。 若要引用它們,$請使用後跟數字:$1將引用第一組、第二組等。$2使用變數時,必須選擇「符合所有出現」。

搜尋 Replace with 描述
(.*).png foo_$1.png 在 PNG 檔案的現有檔案名稱前面加上「foo_」
(.*).png $1_foo.png 將「_foo」附加到 PNG 檔案的現有檔案名稱
(.*) $1.txt 將「.txt」副檔名附加到現有檔案
(^\w+\.$)\|(^\w+$) $2.txt 僅當現有檔案名稱沒有副檔名時才將「.txt」副檔名附加到現有檔案名稱
(\d\d)-(\d\d)-(\d\d\d\d)(\d{2})-(\d{2})-(\d{4}) $3-$2-$1 移動檔案名稱中的部分:「29-03-2020」變為「2020-03-29」
^(.{n})(.*)(.*)(.{n})$ $1foo$2 分別從開頭或結尾插入「foo」n 個字元
^.{n}.{n}$ 分別從開頭或結尾修剪 n 個字元

學習規則運算式的其他資源

線上有絕佳的範例/速查表可以幫助您:

規則運算式教學課程

JavaScript 規則運算式教學課程與範例

檔案清單篩選

可以在 PowerRename 中使用篩選器來縮小重新命名的結果範圍。 使用預覽窗格檢查預期結果。

  • 原始預覽窗格中的第一欄在以下之間切換:

    • 已選取:已選取要重新命名的檔案
    • 已清除:未選取要重新命名的檔案 (即使它符合搜尋條件中輸入的值也一樣)
  • 已重新命名預覽窗格中的第二欄可以切換:

    • 預設預覽將顯示所有已選取的檔案,只有符合 [搜尋] 條件的檔案才會顯示更新的重新命名值。
    • 選取 [已重新命名] 標題會切換預覽,只顯示將重新命名的檔案。 您原始選取項目中的其他已選取檔案將不顯示。

PowerToys 篩選器PowerRename示範

設定

如下所述,可以在設定中設定附加的的選項:

設定 描述
顯示 PowerRename 於 PowerRename 會顯示為其中一個預設選項,或只在擴充內容功能表中出現
隱藏內容功能表中的圖示 隱藏內容功能表中的 PowerRename 圖示
為搜尋及取代欄位啟用自動完成 根據 PowerRename 的先前使用情況,自動建議在搜尋和取代欄位中使用的字詞
項目數目上限 待顯示的最大搜尋和取代建議數量
顯示最近使用的字串 開啟 PowerRename 時,使用最後使用的值填入搜尋和取代欄位
使用 Boost 程式庫 啟用擴充regex功能。 如需詳細資訊,請參閱規則運算式