BAT批處理 檔案重新命名
1.bat重新命名檔案
ren 111.txt 222.doc
解釋:將111.txt 命名為222.doc
2.迴圈重新命名一個資料夾下的所有結尾為xls的檔案,前加上A
for /f %%i in ('dir /b *.txt') do (ren %%i A%%i)
3. 在原檔名前面加當前系統日期格式yyyyMMdd
@echo off
for /f "tokens=1,2,3 delims=- " %%a in ('date /t') do set day=%%a%%b%%c
for /f %%i in ('dir /b *.txt') do (ren %%i �y%%%i)
解釋:tokens=1,2,3 delims=- 以‘-’為分隔符,將當前日期擷取為三部分,分別付給a,b,c,
設定day變數為擷取到的三部分的結合,set day=%%a%%b%%c,即day=格式為yyyyMMdd的當天日期
迴圈修改同一目錄下的檔名,*.txt的都會被修改; i為原檔名
4.現有一堆照片,命名格式為0001.jpg,0002.jpg,0003.jpg,…,00020.jpg,……
要求在所有檔名前加上A_
@echo off
rem 啟用"延緩環境變數擴充"
setlocal EnableDelayedExpansion
set a=1
rem 迴圈當前目錄下所有圖片的檔名,支援帶空格的名稱
for /f "delims=" %%i in ('dir /b *.jpg') do (
rem 如果沒有相同的檔名,則繼續
if not "%%~ni"=="%~n0" (
if !a! LSS 10 (ren "%%i" "A_000!a!.jpg") else ren "%%i" "A_!a!.jpg"
rem 設定數值型變數a=a+1
set /a a+=1
)
)
echo 批量重新命名完成!
pause