您好,登錄后才能下訂單哦!
這篇文章主要介紹計算機中批處理重命名系列案例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
案例一、
想把一個文件夾里的全部文件都命名成001,002……這樣按順序,什么順序無所謂,只要名字都變了就行,誰幫忙寫個
我給出的代碼:
@echo off setlocal enabledelayedexpansion set var=1000 for /r "%~dp0" %%i in (*.*) do ( set /a var+=1 if not "%%~nxi"=="%~nx0" ren "%%i" !var:~-3!%%~xi ) pause>nul echo 處理完畢,任意鍵退出... exit
簡單解釋:
1.使用for /r 遍歷當前目錄(%~dp0)下所有文件,效率比for /f + dir /s /b 高;
2.if not語句用于排除bat文件本身,全路徑是%0,拓展到bat文件名:%~nx0;
3.利用變量1000開始累加,每次利用!var:~-3!取得后三位,即依次為001、002、003...
Ps:var=1000,那么此腳本最多重命名999個文件,再多將出現覆蓋錯誤,如何修改?請澗客思考,最好能在評論中留下您的代碼,呵呵!(比較簡單,大蝦請勿拍磚!)
案例二、
“比如,我有一個文件夾里的文件都是X1,、X2…X51,我有個的文件名字是X15.ass,用完以后變成[Yousei-raws] Soul Eater 14 [BDrip 1280x720 x264 FLAC].ass代碼如下:
@echo off set a=0 setlocal EnableDelayedExpansion for %%n in (*.ass) do ( ren "%%n" "[Yousei-raws] Soul Eater !a! [BDrip 1280x720 x264 FLAC].ass" set /A a+=1 )
如何才能讓順序變正確,順便說一下,最后一個51變成了1.
我給出的代碼:
@echo off set a=100 setlocal EnableDelayedExpansion for /f "delims=*" %%n in ('dir /b *.ass') do ( set /a a+=1 ren "%%n" "[Yousei-raws] Soul Eater !a:~-2! [BDrip 1280x720 x264 FLAC].ass" )
簡單解釋:因為a的值,被初始化為0,所以第一個文件就是0,第二個是1,那么第15個就是14了。。。代碼調換了下順序,先給a+1,讓重命名時a的值為1即可。
以上是“計算機中批處理重命名系列案例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。