我呈現140000幀來創建它們的電影。 然而,它從1.png開始,如果它開始於000001.png,以便在以最終切割快車輸入時保持順序良好,那將會更好。日期批量重命名文件
我曾經有一個程序的名稱,但它是基於power-pc,所以它不再工作。 此外,該程序甚至連一批300個文件都很糟糕,所以我想這會更好地使用終端。
我已經看到了重命名的例子,但大多數情況下用於更改擴展例如或更改前綴。
有人可以幫我用正確的終端腳本嗎?我需要儘快完成這個項目,否則我會重新渲染它,但需要15個小時才能完成。
我呈現140000幀來創建它們的電影。 然而,它從1.png開始,如果它開始於000001.png,以便在以最終切割快車輸入時保持順序良好,那將會更好。日期批量重命名文件
我曾經有一個程序的名稱,但它是基於power-pc,所以它不再工作。 此外,該程序甚至連一批300個文件都很糟糕,所以我想這會更好地使用終端。
我已經看到了重命名的例子,但大多數情況下用於更改擴展例如或更改前綴。
有人可以幫我用正確的終端腳本嗎?我需要儘快完成這個項目,否則我會重新渲染它,但需要15個小時才能完成。
for i in *.png
do
name=${i%.png}
[[ $name =~ ^[0-9]+$ ]] && mv $i "$(printf '%06d' $name).png"
done
效率不高,但因爲你只需要運行一次:
for i in `seq 1 140000`; do
mv $i.png `printf %06d $i`.png
done
編輯:我認爲(也許錯誤地),你是使用Linux。這在Windows上不起作用。
編輯:是的,這應該在Mac OS X中工作。而不是在提示符中鍵入這些行,您可以將其保存到文件。通常,您可以使用名稱rename.sh
來保存這樣的文件。那麼你可以像這樣的終端上運行它:
sh rename.sh
如果你不確定,你可以改變mv
線分爲:
echo mv $i.png `printf %06d $i`.png
這將打印在屏幕上,這將是該命令執行。然後,如果一切看起來都正常,則將其更改回原始並再次運行。
如果文件數量不同,只需將140000
替換爲最後一個文件的編號即可。
我使用Mac OS X,因此必須工作的權利? 我檢查,發現者說它是121596文件,但是當我複製粘貼到另一個點是140000(更多)的東西,所以我必須在你的腳本中使用140000做什麼? 也必須輸入一行或三次? – clankill3r 2012-03-11 16:40:42
我編輯了我的答案來回答你的問題。 – 2012-03-11 17:05:29
我標記了kev的答案,因爲他接受的原因是他更清潔,我認爲這對於基於此選擇的stackoverflow的質量很重要。 (和我用他的線)。然而,你在這裏真的很有幫助,所以非常感謝。希望我可以舉出2個答案... – clankill3r 2012-03-11 23:04:28
如果您使用的是Windows
@echo off
setlocal enableDelayedExpansion
for %%F in (*.png) do (
set "name=00000%%~nF"
ren "%%F" "!name:~-6!.png"
)
我必須在1次輸入此值還是在每行後輸入回車? – clankill3r 2012-03-11 16:41:38
你可以把'all'放在一行中,';' – kev 2012-03-12 00:59:43
否';''do'後面' – kev 2012-03-12 01:08:53