cmd ren命令 重命名文件(夾)
更新時間:2009年07月05日 14:17:52 作者:
ren取自rename的前三個字母,name在英文中有“為……取名”的意思,而re是前綴,有“重新做某事”的含義,結(jié)合起來,rename就是重命名的含義。
ren 的用法很簡單,其使用格式為:ren 舊文件 新文件名。例如,把test.txt改寫為abc.txt,使用 ren test.txt abc.txt即可。
需要注意的是,舊文件可以使用絕對路徑,也可以使用相對路徑,但是,新文件名不能使用任何路徑,只能是新的文件名,即使這個路徑就是當(dāng)前目錄。例如:需要修改d:\test\abc.txt這個文件的名字為xyz.txt的話,如果當(dāng)前路徑位于d:\test,那么,命令可以寫成:ren abc.txt xyz.txt、ren d:\test\abc.txt xyz.txt,但是,絕對不能寫成ren d:\test\abc.txt d:\test\abc.txt這樣的格式。之所以會有這個古怪的規(guī)定,可能是一旦把路徑寫成另外的目錄,ren就具備了“移動文件+重命名文件”的功能了,這和它的定位不相符。
雖然ren的用法很簡單,但是,它的功能卻很強大,這主要得益于ren支持*和?這兩個通配符:*表示任意多個字符,?表示一個字符。例如,要把所有的以.txt作為后綴名的文件改為以.doc作為后綴名,使用ren *.txt *.doc 即可,簡簡單單的一條語句,瞬間就改動了大量的文件,CMD命令簡潔而又不失強大的特點在這里體現(xiàn)得淋漓盡致。又例如,要把以abc字符串打頭、并且只有5個字符的txt文件改名為以xyz字符串打頭,那么,可以這樣寫:ren abc??.txt xyz??.txt。
需要引起高度重視的是,ren在使用通配符的時候,它的匹配規(guī)則十分奇特且過于復(fù)雜,不適合新手理解,在此不再展開做詳細(xì)的解釋。若想了解其中的詳情,請參考這篇帖子:這是不是ren的一個bug?http://www.cn-dos.net/forum/viewthread.php?tid=29538。若確實需要使用通配符,建議熟讀這篇帖子;若實在難以理解,則退而求其次,只用通配符做后綴名的修改工作,可以不用深究這些復(fù)雜的規(guī)則。
ren還有一個十分奇特的屬性:當(dāng)文件具備隱藏屬性或系統(tǒng)屬性的時候,ren將不起作用,需要把文件的隱藏或系統(tǒng)屬性去掉方可更名,對只讀屬性的文件,ren可順利更名。這在很多時候給我們制造了很多麻煩:當(dāng)你不知道要即將更名的文件是否具備隱藏或系統(tǒng)屬性的時候,直接ren是很成問題的,;如果希望在重命名文件的時候,還必須保持原有的文件屬性,則更加讓人痛苦萬分。
怎么辦?
如果不介意文件的屬性是否被改動,那么,保險的做法是,用 attrib -s -h 命令先去掉文件可能存在的系統(tǒng)屬性或隱藏屬性,然后再ren之;如果還要求更名后的文件要保持原有的屬性的話,高效的做法是:先用for語句中的 %%~ai 擴(kuò)展獲取原文件的屬性,經(jīng)過處理之后保存到變量中去,然后用 attrib -s -h 去掉文件可能存在的系統(tǒng)屬性或隱藏屬性,ren之后,再讀取保留在變量中的屬性值,用 attrib 恢復(fù)原有的文件屬性。
對于文件夾,ren同樣適用。
需要注意的是,舊文件可以使用絕對路徑,也可以使用相對路徑,但是,新文件名不能使用任何路徑,只能是新的文件名,即使這個路徑就是當(dāng)前目錄。例如:需要修改d:\test\abc.txt這個文件的名字為xyz.txt的話,如果當(dāng)前路徑位于d:\test,那么,命令可以寫成:ren abc.txt xyz.txt、ren d:\test\abc.txt xyz.txt,但是,絕對不能寫成ren d:\test\abc.txt d:\test\abc.txt這樣的格式。之所以會有這個古怪的規(guī)定,可能是一旦把路徑寫成另外的目錄,ren就具備了“移動文件+重命名文件”的功能了,這和它的定位不相符。
雖然ren的用法很簡單,但是,它的功能卻很強大,這主要得益于ren支持*和?這兩個通配符:*表示任意多個字符,?表示一個字符。例如,要把所有的以.txt作為后綴名的文件改為以.doc作為后綴名,使用ren *.txt *.doc 即可,簡簡單單的一條語句,瞬間就改動了大量的文件,CMD命令簡潔而又不失強大的特點在這里體現(xiàn)得淋漓盡致。又例如,要把以abc字符串打頭、并且只有5個字符的txt文件改名為以xyz字符串打頭,那么,可以這樣寫:ren abc??.txt xyz??.txt。
需要引起高度重視的是,ren在使用通配符的時候,它的匹配規(guī)則十分奇特且過于復(fù)雜,不適合新手理解,在此不再展開做詳細(xì)的解釋。若想了解其中的詳情,請參考這篇帖子:這是不是ren的一個bug?http://www.cn-dos.net/forum/viewthread.php?tid=29538。若確實需要使用通配符,建議熟讀這篇帖子;若實在難以理解,則退而求其次,只用通配符做后綴名的修改工作,可以不用深究這些復(fù)雜的規(guī)則。
ren還有一個十分奇特的屬性:當(dāng)文件具備隱藏屬性或系統(tǒng)屬性的時候,ren將不起作用,需要把文件的隱藏或系統(tǒng)屬性去掉方可更名,對只讀屬性的文件,ren可順利更名。這在很多時候給我們制造了很多麻煩:當(dāng)你不知道要即將更名的文件是否具備隱藏或系統(tǒng)屬性的時候,直接ren是很成問題的,;如果希望在重命名文件的時候,還必須保持原有的文件屬性,則更加讓人痛苦萬分。
怎么辦?
如果不介意文件的屬性是否被改動,那么,保險的做法是,用 attrib -s -h 命令先去掉文件可能存在的系統(tǒng)屬性或隱藏屬性,然后再ren之;如果還要求更名后的文件要保持原有的屬性的話,高效的做法是:先用for語句中的 %%~ai 擴(kuò)展獲取原文件的屬性,經(jīng)過處理之后保存到變量中去,然后用 attrib -s -h 去掉文件可能存在的系統(tǒng)屬性或隱藏屬性,ren之后,再讀取保留在變量中的屬性值,用 attrib 恢復(fù)原有的文件屬性。
對于文件夾,ren同樣適用。
相關(guān)文章
在下次啟動計算機時會自動關(guān)機。重起后恢復(fù)正常(“綠色版”)
在下次啟動計算機時會自動關(guān)機。重起后恢復(fù)正常(“綠色版”)...2007-08-08批處理判斷第一個硬盤的最后一個分區(qū)并進(jìn)入的bat代碼
這篇文章主要介紹了DOS判斷第一個硬盤最后一個分區(qū)的盤符并進(jìn)入該邏輯盤,需要的朋友可以參考下2020-09-09Windows使用cmd命令行查看、修改、刪除與添加環(huán)境變量
這篇文章介紹了Windows使用cmd命令行查看、修改、刪除與添加環(huán)境變量的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06