2013-10-26 51 views
1

嘿,我知道這個問題已被問到這種或那種形式,但所有我能找到的是Java腳本或C或其他編碼語言。添加後綴到文件名後擴展名(批處理模式)

我正在尋找一個命令行參數(能夠從命令提示符執行),這將允許我將(_)__ meta __添加到文件夾中所有(多個)文件擴展名的末尾。

例子,我想重命名這些文件:

database.db 
userkey.mb 
pdox.net 
apphistory.px 
keyfile1.xg0 
keyfile2.xg1 
keyfile3.xg2 
clock.yg0 
timer.yg1 

這樣:

database.db.__meta__ 
userkey.mb.__meta__ 
pdox.net.__meta__ 
apphistory.px.__meta__ 
keyfile1.xg0.__meta__ 
keyfile2.xg1.__meta__ 
keyfile3.xg2.__meta__ 
clock.yg0.__meta__ 
timer.yg1.__meta__ 

是否有可能寫代碼,這個能力?
如果有任何軟件可以讓我知道。我看了,迄今都沒有成功。

回答

3

只需將其重命名

ren *.* *.*._meta_ 
+0

非常好,謝謝! – Kazankoph

+0

+1,相信與否,有一個更短的命令可行。見[我的回答](http://stackoverflow.com/a/19611610/1012053):) – dbenham

0
find . -type f -exec mv {} {}.__meta__ \; 
1

的:-)

ren * *?.__meta__ 

甚至更​​短的命令,如果你曾經找到你想以後刪除所有文件的擴展名:

ren * *. 

或者如果您想要ÿ除去.__meta__擴展

ren *.__meta__ *. 

對於解釋爲什麼上面的命令的工作,參見How does the Windows RENAME command interpret wildcards?

+0

有一點區別。既不好也不壞。不同。當文件沒有擴展名('data.')時,你的命令將它重命名爲'data .__ meta__',我的是'data ..__ meta__'。根據後者的需要,應使用其中一個或另一個。 Yor回答關於通配符 –

+0

@MCND - 關於差異的好消息。我不明白你評論中的最後一句話。 – dbenham

+0

將原始評論拷貝並粘貼到不應該放置的位置。應該說'你在重命名命令中關於通配符的回答非常好。 –

0

====================== ===從JoeG314,2013Oct28,從Kazankoph原來的問題

回答2013Oct27:

下面是對文件ADD1EXT.BAT鏈接 - 這很簡單,沒有複雜的語法使用中鍵入。

這是記錄,所以你會知道如何運行它 - 這將做什麼Kazankoph要求;它允許文件名中包含文件名爲 和多個擴展名(myfile.ext1.ext2.ext3.ext4)的空格。

將該文件保存在磁盤上,然後在DOS提示符下執行它(ADD1EXT)。

鏈接ADD1EXT.BAT:
https://drive.google.com/file/d/0B9GgUicCNu_zQkVwTFA1Z2w2aVk/edit?usp=sharing

==========================

+0

您不應該逐字複製文本,而是將其鏈接到原始答案或標記爲重複。 – arne

相關問題