2013-10-15 90 views
0

我在子文件夾內有大量的JPEG文件,我需要重新命名爲它們的當前名稱,並在最後加上1。重命名JPEGS的批處理腳本在結尾添加1

例如:

G:\FILENAME\Subfolder1\subfolder2\JPEGNAME.JPG 

要重命名爲

G:\FILENAME\Subfolder1\subfolder2\JPEGNAME1.JPG 

我有這種格式,我需要重新命名了900個文件。

任何幫助?

+1

歡迎來到SO!你做了第一次嘗試嗎?讓我們看看一些代碼,然後你更有可能得到一些幫助(即使是簡單的僞代碼也比沒有好)。 – Kjartan

+0

我已經使用下面的代碼進行了第一次嘗試。我的JPEG名稱就像。 000010508298.JPG並且運行以下重命名不會執行任何操作。我曾嘗試類似echo重新命名* .JPG * 1.JPG,但它似乎砍掉我的文件名的末尾並將文件重命名爲0001051.JPG。 – Mike

回答

1

編輯我加了/r,因爲我看到你有一個要修改的文件樹。在JPG文件的主要保存文件夾中輸入此命令。

這是一個cmd提示命令。如果您喜歡您在控制檯上看到的內容,請刪除echo

for /r %a in (*.jpg) do echo rename "%a" "%~na1%~xa" 
+0

你能解釋一下「%a」「%〜na1%〜xa」的部分......我對這種語言沒有經驗。謝謝 – Mike

+0

for命令使用一個元變量,它可以是a到z和A到Z以及其他字符。這在這裏被稱爲%a(或批處理文件中的%% a)。它依次取得每個文件名,'%〜n'返回文件名部分,而'%〜x'返回擴展名。他們在末尾添加了元變量名,這裏'a'變成%〜na和%〜xa - 讀取'FOR /?'的最後一頁來獲取修飾符列表。 – foxidrive

+0

請參閱我編輯的答案。 – foxidrive

0

可能不需要任何比簡單的REN命令更多的東西。見How does the Windows RENAME command interpret wildcards?

只要您的文件名中沒有名稱中包含多個點,則以下內容適用於當前目錄。只要確保至少有這麼多的?作爲最長的名字。

ren *.jpg ??????????????????????????????????????1.jpg 

或處理整個目錄樹

for /r %F in (.) do @ren "%F\*.jpg" ??????????????????????????????????????1.jpg 

或者你可以重複使用的每個文件或需求/ R循環和重命名逐一爲foxidrive確實在他的回答時間。

0

使用renamer

$ renamer --regex --find '(.*)\.JPG' --replace '$11.JPG' * 

遞歸操作,改變在*的命令來**結束。