PowerRename 公用程式
PowerRename 是一種大量重新命名工具,可讓您:
- 修改大量文件的檔名,而不會為所有檔案提供相同的名稱。
- 在檔案名稱的目標區段上執行搜尋和取代。
- 在多個檔案上執行規則運算式重新命名。
- 在完成大量重新命名之前,請先檢查預覽視窗中的預期重新命名結果。
- 完成之後復原重新命名作業。
示範
在此示範中,檔案名稱「foo」的所有執行個體都取代為「foobar」。 由於所有檔案的名稱都是唯一的,因此手動逐一完成將需要很長時間。 PowerRename 會啟用單一大量重新命名。 請注意,總管的「復原重新命名」(Ctrl+Z) 指令可以復原最後的變更。
PowerRename 視窗
選取 WindowsFile Explorer 中的檔案後,按一下滑鼠右鍵並選取重新命名為PowerRename (僅在 PowerToys 中啟用時才會出現)。 將顯示所選專案以及搜尋和取代值、選項清單,以及顯示輸入的搜尋和取代值結果的預覽窗格。
搜尋
輸入文字或規則運算式以在您的選取項目中,尋找包含與您的項目相符的條件之檔案。 您將在預覽窗格中看到相符的項目。
Replace with
輸入文字以取代先前輸入的搜尋值。 您可以在預覽窗格中看到原始文件名稱和重新命名後的文件名稱。
Use regular expressions
如果選取了,搜尋值將被解釋為規則運算式 (regex)。 [取代] 值也可以包含 regex 變數 (請參閱下面的範例)。 如果清除了,搜尋值將被解釋為純文字,並被取代為 [取代] 欄位中的文字。
有關擴展 regex 功能的設定功能表中的使用 Boost 程式庫選項的更多資訊,請參閱規則運算式部分。
符合所有出現的情況
如果選取了,[搜尋] 欄位中所有符合的文字都將被取代為 [取代] 文字。 否則,僅取代檔案名稱中 [搜尋] 文字的第一個執行個體。
例如,假設檔案名稱為:powertoys-powerrename.txt
:
- 搜尋:
power
- 使用以下內容重新命名:
super
重新命名檔案的值將導致:
- 符合所有出現的情況已清除:
supertoys-powerrename.txt
- 符合所有出現的情況已選取:
supertoys-superrename.txt
區分大小寫
如果選取了,則 [搜尋] 欄位中指定的文字僅在大小寫相同的情況下才會符合項目中的文字。 預設情況下,是不區分大小寫符合度的。
適用於:僅限檔名
此作業僅修改檔案名稱。 例如:txt.txt
→ NewName.txt
。
適用於:僅限延伸模組
此作業僅修改檔案副檔名。 例如:txt.txt
→ txt.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 個字元 |
學習規則運算式的其他資源
線上有絕佳的範例/速查表可以幫助您:
檔案清單篩選
可以在 PowerRename 中使用篩選器來縮小重新命名的結果範圍。 使用預覽窗格檢查預期結果。
原始,預覽窗格中的第一欄在以下之間切換:
- 已選取:已選取要重新命名的檔案
- 已清除:未選取要重新命名的檔案 (即使它符合搜尋條件中輸入的值也一樣)
已重新命名,預覽窗格中的第二欄可以切換:
- 預設預覽將顯示所有已選取的檔案,只有符合 [搜尋] 條件的檔案才會顯示更新的重新命名值。
- 選取 [已重新命名] 標題會切換預覽,只顯示將重新命名的檔案。 您原始選取項目中的其他已選取檔案將不顯示。
設定
如下所述,可以在設定中設定附加的的選項:
設定 | 描述 |
---|---|
顯示 PowerRename 於 | PowerRename 會顯示為其中一個預設選項,或只在擴充內容功能表中出現 |
隱藏內容功能表中的圖示 | 隱藏內容功能表中的 PowerRename 圖示 |
為搜尋及取代欄位啟用自動完成 | 根據 PowerRename 的先前使用情況,自動建議在搜尋和取代欄位中使用的字詞 |
項目數目上限 | 待顯示的最大搜尋和取代建議數量 |
顯示最近使用的字串 | 開啟 PowerRename 時,使用最後使用的值填入搜尋和取代欄位 |
使用 Boost 程式庫 | 啟用擴充regex功能。 如需詳細資訊,請參閱規則運算式 |
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應