網友評分: 9.4分
XRename是款可以批量更名文件或文件夾名字的工具。它可以根據用戶設置搜索條件來找出符合的文件進行更名,讓用戶的文件命名更加規范,非常方便。
1.替換文件名中的字符,語法如下:
replace -dir directory -string string1 -(new|newstring|replacewith) string2 [-type (file|dir|all)[:string3]] [-ignorecase {yes|no}] [-log {yes|no}]
功能說明:將某個目錄中的文件或文件夾的名稱中的字符按指定規則替換,regexp1和regexp2表示可以使用正則表達式。
參數說明:
具體的參數值建議都加上雙引號,因為如果參數值里面有空格的話會影響程序的判斷。用正則表達式的話除外,因為它已經用//表示了。
-dir 要處理的目錄,也可以寫作-path。
-string 要替換的字符串。這里可以用正則表達式,格式為“/regexp/img”,和js腳本中的設置一樣,注意它外圍不能再加雙引號,否則只會被當做普通字符串處理。正則表達式的匹配屬性可以在第二個/后面控制,忽略大小寫用i,多行匹配用m,匹配所有項用g,因為文件名沒有換行的,所以加不加m都是多余的。正則表達式默認匹配屬性為“區分大小寫”和“非全局匹配”。
-new 替換后的字符串,還可以寫作-newstring和-replacewith。如果前面的-string用的正則表達式那么這里可以用“$1”或“$2”這樣的分組捕獲內容,否則只會被當做普通字符串處理。
-type 要處理的對象的類型,這里共有三種情況。即file(文件),dir(文件夾)以及all(包含前面兩者)。默認為file,也就是只處理文件,這個參數后面還可以加上“:”然后指定處理范圍。這里可以用正則表達式也可以用普通字符。普通字符的話就是固定一個字符串或者匹配字符串,和windows匹配方式兼容,例如*.txt就是指處理所有txt文件,?就表示單個字符。如果要用正則表達式那么和-string參數使用正則表達式情況的要求一樣的。
-ignorecase 是否忽略字母大小寫。yes為忽略,即不區分字母大小寫,no則區分。默認為yes,這個在-string使用普通字符串時會用到,如果是用正則表達式的話只會識別/后面的標記。
-log 是否輸出處理日志,文件名為XRename.log。yes為輸出,no則不輸出,默認為no,表示不生產log文件。另外如果XRename在處理時發生錯誤的情況下無論是否指定-log這個參數都會生成一個名為XRename_err.log的文件。
應用范例:
(1)將"c:\movie\"下所有文件的文件名中的"老友記"替換為"friends"
XRename replace -dir "c:\movie\" -string "老友記" -replacewith "friends"
(2)將"c:\movie\"下所有文件的文件名中的空格替換為下劃線,并且生成log
XRename replace -dir "c:\movie\" -string " " -replacewith "_" -log yes
(3)將"c:\movie\"下所有以wma為后綴名的文件替換為rmvb后綴名。
XRename replace -dir "c:\movie\" -string "wma" -replacewith "rmvb"
上面的方法可能不保險,因為必須最后是wma的才替換,可以使用正則表達式精確處理:
XRename replace -dir "c:\movie\" -string /(.*?)wma$/ig -replacewith "$1rmvb"或:
XRename replace -dir "c:\movie\" -string /wma$/ig -replacewith "rmvb"
如果需要進一步縮小范圍指定處理wma文件,那么用下面方法:
XRename replace -dir "c:\movie\" -string /wma$/ig -replacewith "rmvb" -type file:"*.wma"或
XRename replace -dir "c:\movie\" -string /wma$/ig -replacewith "rmvb" -type file:/.*\.wma/ig
2.刪除文件名中的字符,語法:
delete -dir directory -string string1 [-type (file|dir|all)[:string3]] [-ignorecase {yes|no}] [-log {yes|no}]
功能說明:將某個目錄中的文件或文件夾的名稱中的字符按指定規則的刪除。此命令實際可用replace命令代替,即替換為空。
參數說明:參考replace功能的參數說明部分。
應用范例:
(1)將"c:\movie\"下所有文件的文件名中的"book"刪除
XRename delete -dir "c:\movie\" -string "book"
(2)將"c:\inet\"下所有文件的文件名中的"["和"]"刪除,這個應用很典型,例如從ie臨時文件夾拷貝出來的文件基本都會帶有字符[1]和[2]字樣的
XRename delete -dir "c:\inet\" -string /\[|\]/ig
如果要直接把[1]或[2]刪除的話,可以用下面的方法,不過可能會引起沖突
XRename delete -dir "c:\inet\" -string /\[\d+\]/ig
3.列出文件名,語法:
listfile -dir directory -string string1 [-type (file|dir|all)[:string3]] [-ignorecase {yes|no}] [-output path]
功能說明:導出某個目錄下符合指定規則的文件或文件夾的名稱列表。
參數說明:參考replace功能的參數說明部分。其中-output為導出的列表保存的路徑,默認為指定目錄下的XRename_list.txt文件。
應用范例:
(1)列出"c:\movie\"下所有文件的文件名含有"經典"的文件
XRename listfile -dir "c:\movie\" -string "經典"
(2)列出"c:\movie\"下所有文件的文件名以"經典"二字開頭并且以CD1結尾(除去文件后綴名)的文件,并將內容導出到"c:\classicMovie.txt"
XRename listfile -dir "c:\movie\" -string /^經典.+?CD1(\.[^\.]*)?/ig -output "c:\classicMovie.txt"
4.刪除文件,語法:
delfile -dir directory -string string1 [-type (file|dir|all)[:string3]] [-ignorecase {yes|no}] [-log {yes|no}]
功能說明:刪除某個目錄下符合指定規則的文件或文件夾。
參數說明:參考replace功能的參數說明部分。
應用范例:
(1)刪除"c:\movie\"下所有文件名含有"美2010情景喜劇片"的文件
XRename delfile -dir "c:\movie\" -string "美2010情景喜劇片"
5.UTF8類型的解碼,語法:
utf8rename -dir directory [-type (file|dir|all)[:string3]] [-ignorecase {yes|no}] [-log {yes|no}]
功能說明:將文件名用UTF8編碼的文件進行文件名解碼,主要應用于對從IE臨時文件夾拷貝的文件重命名。
應用范例:
XRename utf8rename -dir "c:\movie\"
6.其他待補充。