/********************** rns.bat ***************************/
@echo off & setlocal enabledelayedexpansion
clsset /p paths=請輸入檔案所在目錄路徑(預設為當前目錄):
if not exist %paths%/resume.txt goto rencs
attrib %paths%/resume.txt -h
set /p cn=系統檢測到最近一次改名操作,要恢復請輸入y,否則直接回車繼續進行這次改名:
if /i not == goto rencs
for /f "delims=" %%i in (%paths%/resume.txt) do ren %%i
del %paths%/resume.txt
echo 成功還原到最近一次操作。
goto end
:rencs
set /p str=請輸入檔名的字首字元(預設為全數字):
set /p stre=請輸入檔案的副檔名(保持不變請直接按回車):
set /p f=是否繼續(y/n):
if /i not == goto end
set /a afl=10000
type nul > %paths%/resume.txt
echo 正在以[%str%10001.*]格式重新命名檔案,請稍等…
for /r %paths% %%i in (*.*) do (
if not == (
set /a afl+=1
ren %%i %str%!afl!.%stre%*
echo %paths%/%str%!afl!.%stre%* %%~nxi >> %paths%/resume.txt))
attrib %paths%/resume.txt +h
set /a afl=afl-10000
echo 成功為%paths%目錄下的%afl%個檔案改名!
:end
echo 操作成功!
/************************ end *********************************/
最近因掃瞄了很多資料,所以寫了這個簡單的dos批處理檔案,當時只是在cmd下敲幾行命令,只因要放到部落格上與大家共享,加入了一些提示,實現了批量更改檔名、副檔名,並且可以作恢復操作。
注:1、以上所有操作,在windows xp 系統測試通過。
2、改名雖不是刪除檔案,但請慎用。
3、在輸入路徑、字首、副檔名時,若輸入有誤,不作處理。
dos命令, 批量修改檔名
將當前目錄下形如 qqq1.txt qqq2.txt 等檔案批量改為 abcd1.txt abcd2.txt.for l i in 1,1,9 do ren qqq i.txt abcd i.txt 相關知識 for命令 for 引數 變數 in 集 do 命令 引數 d l,r,f d 引數是指定...
DOS命令應用之分離路徑和檔名
dos命令應用之分離路徑和檔名 echo off 獲取某個路徑格式字串中指定節的字串 code by jm 2006 12 11 cmd xp set str c t est abc.txt cd h yes h for f tokens 2 delims i in str do echo i j ...
linux 批量更改檔名 rename 命令
rename 的典型應用 rename 1 2 3 1 要被取代的關鍵字 2 新的關鍵字 3 檔名符合這個規則的才取代 把 img001.jpg,img002.jpg 換成 img001.jpg,img002.jpg rename img img img 把所有 htm 檔案改成 html rena...