dos 重命名文件(夾)ren
更新時(shí)間:2009年04月27日 18:26:20 作者:
ren取自rename的前三個(gè)字母,name在英文中有“為……取名”的意思,而re是前綴,有“重新做某事”的含義,結(jié)合起來(lái),rename就是重命名的含義。
ren 的用法很簡(jiǎn)單,其使用格式為:ren 舊文件 新文件名。例如,把test.txt改寫(xiě)為abc.txt,使用 ren test.txt abc.txt即可。
需要注意的是,舊文件可以使用絕對(duì)路徑,也可以使用相對(duì)路徑,但是,新文件名不能使用任何路徑,只能是新的文件名,即使這個(gè)路徑就是當(dāng)前目錄。例如:需要修改d:\test\abc.txt這個(gè)文件的名字為xyz.txt的話,如果當(dāng)前路徑位于d:\test,那么,命令可以寫(xiě)成:ren abc.txt xyz.txt、ren d:\test\abc.txt xyz.txt,但是,絕對(duì)不能寫(xiě)成ren d:\test\abc.txt d:\test\abc.txt這樣的格式。之所以會(huì)有這個(gè)古怪的規(guī)定,可能是一旦把路徑寫(xiě)成另外的目錄,ren就具備了“移動(dòng)文件+重命名文件”的功能了,這和它的定位不相符。
雖然ren的用法很簡(jiǎn)單,但是,它的功能卻很強(qiáng)大,這主要得益于ren支持*和?這兩個(gè)通配符:*表示任意多個(gè)字符,?表示一個(gè)字符。例如,要把所有的以.txt作為后綴名的文件改為以.doc作為后綴名,使用ren *.txt *.doc 即可,簡(jiǎn)簡(jiǎn)單單的一條語(yǔ)句,瞬間就改動(dòng)了大量的文件,CMD命令簡(jiǎn)潔而又不失強(qiáng)大的特點(diǎn)在這里體現(xiàn)得淋漓盡致。又例如,要把以abc字符串打頭、并且只有5個(gè)字符的txt文件改名為以xyz字符串打頭,那么,可以這樣寫(xiě):ren abc??.txt xyz??.txt。
需要引起高度重視的是,ren在使用通配符的時(shí)候,它的匹配規(guī)則十分奇特且過(guò)于復(fù)雜,不適合新手理解,在此不再展開(kāi)做詳細(xì)的解釋。若想了解其中的詳情,請(qǐng)參考這篇帖子:這是不是ren的一個(gè)bug?http://www.cn-dos.net/forum/viewthread.php?tid=29538。若確實(shí)需要使用通配符,建議熟讀這篇帖子;若實(shí)在難以理解,則退而求其次,只用通配符做后綴名的修改工作,可以不用深究這些復(fù)雜的規(guī)則。
ren還有一個(gè)十分奇特的屬性:當(dāng)文件具備隱藏屬性或系統(tǒng)屬性的時(shí)候,ren將不起作用,需要把文件的隱藏或系統(tǒng)屬性去掉方可更名,對(duì)只讀屬性的文件,ren可順利更名。這在很多時(shí)候給我們制造了很多麻煩:當(dāng)你不知道要即將更名的文件是否具備隱藏或系統(tǒng)屬性的時(shí)候,直接ren是很成問(wèn)題的,;如果希望在重命名文件的時(shí)候,還必須保持原有的文件屬性,則更加讓人痛苦萬(wàn)分。
怎么辦?
如果不介意文件的屬性是否被改動(dòng),那么,保險(xiǎn)的做法是,用 attrib -s -h 命令先去掉文件可能存在的系統(tǒng)屬性或隱藏屬性,然后再ren之;如果還要求更名后的文件要保持原有的屬性的話,高效的做法是:先用for語(yǔ)句中的 %%~ai 擴(kuò)展獲取原文件的屬性,經(jīng)過(guò)處理之后保存到變量中去,然后用 attrib -s -h 去掉文件可能存在的系統(tǒng)屬性或隱藏屬性,ren之后,再讀取保留在變量中的屬性值,用 attrib 恢復(fù)原有的文件屬性。
對(duì)于文件夾,ren同樣適用。
需要注意的是,舊文件可以使用絕對(duì)路徑,也可以使用相對(duì)路徑,但是,新文件名不能使用任何路徑,只能是新的文件名,即使這個(gè)路徑就是當(dāng)前目錄。例如:需要修改d:\test\abc.txt這個(gè)文件的名字為xyz.txt的話,如果當(dāng)前路徑位于d:\test,那么,命令可以寫(xiě)成:ren abc.txt xyz.txt、ren d:\test\abc.txt xyz.txt,但是,絕對(duì)不能寫(xiě)成ren d:\test\abc.txt d:\test\abc.txt這樣的格式。之所以會(huì)有這個(gè)古怪的規(guī)定,可能是一旦把路徑寫(xiě)成另外的目錄,ren就具備了“移動(dòng)文件+重命名文件”的功能了,這和它的定位不相符。
雖然ren的用法很簡(jiǎn)單,但是,它的功能卻很強(qiáng)大,這主要得益于ren支持*和?這兩個(gè)通配符:*表示任意多個(gè)字符,?表示一個(gè)字符。例如,要把所有的以.txt作為后綴名的文件改為以.doc作為后綴名,使用ren *.txt *.doc 即可,簡(jiǎn)簡(jiǎn)單單的一條語(yǔ)句,瞬間就改動(dòng)了大量的文件,CMD命令簡(jiǎn)潔而又不失強(qiáng)大的特點(diǎn)在這里體現(xiàn)得淋漓盡致。又例如,要把以abc字符串打頭、并且只有5個(gè)字符的txt文件改名為以xyz字符串打頭,那么,可以這樣寫(xiě):ren abc??.txt xyz??.txt。
需要引起高度重視的是,ren在使用通配符的時(shí)候,它的匹配規(guī)則十分奇特且過(guò)于復(fù)雜,不適合新手理解,在此不再展開(kāi)做詳細(xì)的解釋。若想了解其中的詳情,請(qǐng)參考這篇帖子:這是不是ren的一個(gè)bug?http://www.cn-dos.net/forum/viewthread.php?tid=29538。若確實(shí)需要使用通配符,建議熟讀這篇帖子;若實(shí)在難以理解,則退而求其次,只用通配符做后綴名的修改工作,可以不用深究這些復(fù)雜的規(guī)則。
ren還有一個(gè)十分奇特的屬性:當(dāng)文件具備隱藏屬性或系統(tǒng)屬性的時(shí)候,ren將不起作用,需要把文件的隱藏或系統(tǒng)屬性去掉方可更名,對(duì)只讀屬性的文件,ren可順利更名。這在很多時(shí)候給我們制造了很多麻煩:當(dāng)你不知道要即將更名的文件是否具備隱藏或系統(tǒng)屬性的時(shí)候,直接ren是很成問(wèn)題的,;如果希望在重命名文件的時(shí)候,還必須保持原有的文件屬性,則更加讓人痛苦萬(wàn)分。
怎么辦?
如果不介意文件的屬性是否被改動(dòng),那么,保險(xiǎn)的做法是,用 attrib -s -h 命令先去掉文件可能存在的系統(tǒng)屬性或隱藏屬性,然后再ren之;如果還要求更名后的文件要保持原有的屬性的話,高效的做法是:先用for語(yǔ)句中的 %%~ai 擴(kuò)展獲取原文件的屬性,經(jīng)過(guò)處理之后保存到變量中去,然后用 attrib -s -h 去掉文件可能存在的系統(tǒng)屬性或隱藏屬性,ren之后,再讀取保留在變量中的屬性值,用 attrib 恢復(fù)原有的文件屬性。
對(duì)于文件夾,ren同樣適用。
相關(guān)文章
bat如何獲取當(dāng)前盤(pán)符和當(dāng)前所在文件夾的路徑
這篇文章主要介紹了bat如何獲取當(dāng)前盤(pán)符和當(dāng)前所在文件夾的路徑,文中補(bǔ)充介紹了bat 獲取文件目錄路徑(4種情況,各有配圖),感興趣的朋友跟隨小編一起看看吧2024-03-03Bat腳本-timeout 命令(延時(shí)執(zhí)行)
做一個(gè)延時(shí)執(zhí)行的批處理命令,選用timeout命令來(lái)實(shí)現(xiàn),但是碰到一個(gè)情況是寫(xiě)完后直接雙擊運(yùn)行時(shí),timeout 命令運(yùn)行不了,每次運(yùn)行到timeout的時(shí)候,命令就會(huì)跳到.bta文件的開(kāi)頭重新執(zhí)行,后來(lái)選擇管理員權(quán)限運(yùn)行就可以了2022-12-12批處理文件(bat文件)注冊(cè)dll批量注冊(cè)dll
有時(shí)候用電腦的時(shí)候遇到由于DLL文件丟失或損壞而造成的種種故障,大家都只知道只要重新注冊(cè)一下DLL文件就可以了2012-05-05用批處理實(shí)現(xiàn)映射盤(pán)網(wǎng)絡(luò)盤(pán)為固定盤(pán)符,請(qǐng)更改沖突的硬盤(pán)盤(pán)符
用批處理實(shí)現(xiàn)映射盤(pán)網(wǎng)絡(luò)盤(pán)為固定盤(pán)符,請(qǐng)更改沖突的硬盤(pán)盤(pán)符...2007-03-03