Windows系統(tǒng)使用bat批量修改文件名的使用示例
編寫運(yùn)行.bat文件
新建文本文檔,輸入如下內(nèi)容:
@echo off
chcp 65001
setlocal enabledelayedexpansion
rem 設(shè)置要查找和替換的字符串
set "search=aaa"
set "replace=bbb"
rem 設(shè)置文件名匹配模式,例如*.txt表示修改.txt文件,*.*表示修改所有文件
set "filePattern=*.txt"
rem 設(shè)置目標(biāo)文件夾的路徑
set "folderPath=C:\YourFolderPath"
rem 切換到目標(biāo)文件夾
cd /d "%folderPath%"
rem 遍歷文件并重命名
for %%f in (%filePattern%) do (
set "filename=%%~nf"
set "newFilename=!filename:%search%=%replace%!"
ren "%%f" "!newFilename!%%~xf"
)
echo 文件名修改完成。
pause請(qǐng)按照以下步驟執(zhí)行此批處理腳本:
- 打開記事本或其他文本編輯器,將上述代碼復(fù)制粘貼到新建的文本文件中。
- 在代碼中,將
search變量設(shè)置為要查找的字符串,將replace變量設(shè)置為要替換的字符串。 - 如果需要修改特定類型的文件,請(qǐng)將
filePattern變量設(shè)置為相應(yīng)的文件擴(kuò)展名。如果要修改所有文件,可以將其設(shè)置為*.*。 - 將
folderPath變量設(shè)置為包含要重命名文件的目標(biāo)文件夾的路徑。 - 將文本文件保存為批處理文件,例如
rename_files.bat。 - 雙擊批處理文件以執(zhí)行腳本,它將遍歷目標(biāo)文件夾中的文件并按照您指定的規(guī)則重命名它們。
請(qǐng)謹(jǐn)慎操作,并在執(zhí)行之前備份文件,以防需要還原。
folderPath設(shè)置為bat文件所在的文件夾
@echo off
chcp 65001
setlocal enabledelayedexpansion
rem 獲取批處理文件所在的文件夾路徑
for %%I in ("%~dp0.") do set "folderPath=%%~fI"
rem 設(shè)置要查找和替換的字符串
set "search=aaa"
set "replace=bbb"
rem 設(shè)置文件名匹配模式,例如*.txt表示修改.txt文件,*.*表示修改所有文件
set "filePattern=*.txt"
rem 切換到目標(biāo)文件夾
cd /d "%folderPath%"
rem 遍歷文件并重命名
for %%f in (%filePattern%) do (
set "filename=%%~nf"
set "newFilename=!filename:%search%=%replace%!"
ren "%%f" "!newFilename!%%~xf"
)
echo 文件名修改完成。
pause在上述代碼中,"%~dp0" 用于獲取批處理文件所在的文件夾路徑,然后將其賦給 folderPath 變量,以便在后續(xù)的操作中使用。這樣,腳本將工作在批處理文件所在的文件夾中,您可以在該文件夾中執(zhí)行文件名修改操作。
代碼解釋
for %%I in ("%~dp0.") do set "folderPath=%%~fI"
這段批處理腳本的目的是獲取包含批處理文件的文件夾的路徑,并將該路徑存儲(chǔ)在名為 folderPath 的變量中。讓我解釋其中的幾個(gè)關(guān)鍵部分:
%~dp0:這是批處理文件內(nèi)置的特殊變量,它表示當(dāng)前批處理文件的完整路徑,其中%~d表示驅(qū)動(dòng)器,%~p表示路徑。因此,%~dp0表示當(dāng)前批處理文件的文件夾路徑。for %%I in ("%~dp0."):這是一個(gè)for循環(huán),它遍歷一個(gè)項(xiàng)列表,其中%%I是循環(huán)變量。在這里,我們使用for循環(huán)來處理%~dp0的值,因?yàn)?nbsp;%~dp0可能包含空格或特殊字符,需要將其引號(hào)括起來。set "folderPath=%%~fI":在for循環(huán)內(nèi)部,%%~fI表示對(duì)循環(huán)變量%%I的擴(kuò)展,其中%~f表示取得完整的路徑。因此,set "folderPath=%%~fI"將folderPath變量設(shè)置為包含批處理文件的文件夾的完整路徑。
總之,這段代碼的作用是獲取批處理文件所在文件夾的完整路徑,并將其存儲(chǔ)在 folderPath 變量中,以便在腳本的后續(xù)部分中使用該路徑。這對(duì)于需要在批處理腳本中引用腳本所在文件夾的情況非常有用,因?yàn)樗试S腳本在不考慮具體位置的情況下訪問其所需的資源或文件。
for %%f in (%filePattern%) do
for %%f in (%filePattern%) do 是一個(gè)批處理中的循環(huán)結(jié)構(gòu),它的目的是遍歷滿足指定文件模式的文件,并對(duì)每個(gè)文件執(zhí)行一組命令。讓我解釋其中的幾個(gè)關(guān)鍵部分:
for %%f:這是一個(gè)for循環(huán)的開始,其中%%f是循環(huán)變量的名稱。在批處理中,通常使用%%來表示循環(huán)變量,而不是單獨(dú)的%。in (%filePattern%):這部分定義了要遍歷的文件列表。%filePattern%是一個(gè)變量,它應(yīng)該包含一個(gè)文件模式,用于匹配要處理的文件。例如,如果%filePattern%的值為*.txt,那么循環(huán)將遍歷所有擴(kuò)展名為.txt的文件。do:在do后面的是要在每次迭代中執(zhí)行的一組命令。這些命令可以是批處理腳本中的任何有效命令,例如重命名文件、復(fù)制文件、執(zhí)行操作等。
綜合起來,for %%f in (%filePattern%) do 的作用是遍歷滿足文件模式 %filePattern% 的文件,并對(duì)每個(gè)文件執(zhí)行 do 后面的一組命令。這使得批處理腳本能夠?qū)σ唤M文件執(zhí)行相同的操作,例如批量重命名、復(fù)制或刪除文件等。
set "filename=%%~nf"
set "newFilename=!filename:%search%=%replace%!"
ren "%%f" "!newFilename!%%~xf"
這個(gè)批處理文件中的代碼用于重命名文件名中的部分文本。讓我解釋一下每一行代碼的含義:
set "filename=%%~nf":這一行代碼將當(dāng)前文件的名稱(不包括擴(kuò)展名)存儲(chǔ)在變量filename中。%%~nf是一個(gè)批處理文件中用于獲取文件名部分的特殊語法,其中%%~n表示獲取文件名,f表示當(dāng)前文件的占位符。所以%%~nf將被替換為當(dāng)前文件的名稱。set "newFilename=!filename:%search%=%replace%!":這一行代碼將在filename變量中查找并替換文本。具體來說,它會(huì)查找filename中的所有%search%文本,并將其替換為%replace%文本。!filename:%search%=%replace%!是批處理文件中用于進(jìn)行文本替換的語法。ren "%%f" "!newFilename!%%~xf":這一行代碼使用ren命令(縮寫為rename)來重命名文件。%%f表示當(dāng)前文件的占位符。!newFilename!是上一行代碼中計(jì)算出的新文件名,%%~xf表示當(dāng)前文件的擴(kuò)展名。因此,這一行代碼將當(dāng)前文件的名稱從%%f更改為!newFilename!,并保留原始文件的擴(kuò)展名。
總之,這個(gè)批處理文件用于查找文件名中的特定文本(%search%)并將其替換為其他文本(%replace%),然后將文件重命名為新的文件名,同時(shí)保留原始文件的擴(kuò)展名。
bat的輸出終端亂碼
如果您在運(yùn)行批處理文件時(shí)在終端中看到亂碼,這可能是由于字符集或編碼問題引起的。
字符集不匹配:確保終端和批處理文件都使用相同的字符集,通常是 UTF-8??梢酝ㄟ^在批處理文件的開頭添加以下行來設(shè)置字符集:
@echo off chcp 65001 (將字符集設(shè)置為 UTF-8)
到此這篇關(guān)于Windows系統(tǒng)使用bat批量修改文件名的使用示例的文章就介紹到這了,更多相關(guān)bat批量修改文件名內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
BAT批處理判斷服務(wù)是否正常運(yùn)行的方法(批處理命令綜合應(yīng)用)
批處理就是對(duì)某對(duì)象進(jìn)行批量的處理,通常被認(rèn)為是一種簡(jiǎn)化的腳本語言,它應(yīng)用于DOS和Windows系統(tǒng)中。這篇文章主要介紹了BAT批處理判斷服務(wù)是否正常運(yùn)行(批處理命令綜合應(yīng)用),需要的朋友可以參考下2020-02-02
批處理利用HOSTS文件(屏蔽,加速)網(wǎng)站的代碼
批處理利用HOSTS文件(屏蔽,加速)網(wǎng)站的代碼,直接運(yùn)行按照提示操作即可2012-06-06
Windows批處理腳本(.bat)實(shí)現(xiàn)最小化運(yùn)行的多種方案
在Windows系統(tǒng)管理和自動(dòng)化任務(wù)中,批處理腳本(.bat文件)扮演著重要角色,當(dāng)腳本運(yùn)行時(shí),彈出的命令行窗口可能會(huì)干擾用戶操作,因此,實(shí)現(xiàn)批處理腳本的最小化運(yùn)行成為一項(xiàng)實(shí)用需求,所以本文給大家介紹了Windows批處理腳本(.bat)實(shí)現(xiàn)最小化運(yùn)行的多種方案2025-12-12
Windows系統(tǒng)管理bat批處理腳本的示例代碼
在Windows系統(tǒng)管理中,批處理腳本(.bat文件)是一種強(qiáng)大而高效的工具,它能夠自動(dòng)化執(zhí)行一系列命令,簡(jiǎn)化系統(tǒng)管理員的日常工作,本文將深入解析一個(gè)用于管理用戶賬戶的批處理腳本,需要的朋友可以參考下2025-12-12
超簡(jiǎn)單超強(qiáng)悍的清理C盤垃圾文件方法
教大家自己寫個(gè)程序,這個(gè)程序是自動(dòng)清理電腦里的垃圾而不會(huì)破壞系統(tǒng),比很多軟件都好哦2007-04-04

