此文章僅記錄博主遇到的問題想到的解決方案,并不代表最優(yōu)解。
問題背景:
? ? ? ? 在工作中遇到要批量修改文件名,并且文件名具有一定命名格式,如:要將abc_name_20230223.txt 修改為 name.txt ,name的長度一致。這種情況下需要將文件名批量提取,裁剪再重命名。如何操作更加方便呢?
方法(Excel函數(shù)+ BAT腳本):
一、打開文件所在路徑,在路徑欄寫入CMD,然后回車
? ? ? ? 這將在此路徑下打開命令行窗口。
?
二、在命令行窗口中輸入命令:dir /b>1.xls
此命令的作用是將當前路徑下的所有文件名寫入到1.xls文件當中。
? ? ? ? ?生成的1.xls文件內(nèi)容如下圖:
?三、使用MID函數(shù)裁剪出需要保留的文件名
? ? ? ? 在B2中輸入:=MID(A2,5,4)
? ? ? ? 意思是在B2欄生成由A2欄中字符串第5位開始的后4個字母。使用者可以根據(jù)具體情況修改所選字符串起始位置,以及長度。
?
?
MID 返回文本字符串中從指定位置開始的特定數(shù)目的字符,該數(shù)目由用戶指定。?
?語法?
MID(text,start_num,num_chars)?
Text 是包含要提取字符的文本字符串。?
Start_num 是文本中要提取的第一個字符的位置。文本中第一個字符的 start_num 為 1,以此類推。?
Num_chars 指定希望 MID 從文本中返回字符的個數(shù)。?說明?
? 如果 start_num 大于文本長度,則 MID 返回空文本 ()。?
??如果 start_num 小于文本長度,但 start_num 加上 num_chars 超過了文本的長度,則 MID 只返回至多直到文本末尾的字符。?
??如果 start_num 小于 1,則 MID 返回錯誤值 #VALUE!。?
??如果 num_chars 是負數(shù),則 MID 返回錯誤值 #VALUE!。?
? ? ? ? 將公式下拉應(yīng)用到B列,注意:B7因name的長度不一致,裁剪出的字符串不正確。
?四、使用CONCAT、CONCATENATE函數(shù)或者&添加文件后綴
? ? ? ? 在C2中輸入:=CONCAT(B2,".txt")
??????????????????????????或 =CONCATENATE(B2,".txt")
? ? ? ? ? ? ? ? ? ? ? ? ? 或 =B2&".txt"
?
CONCAT將多個區(qū)域和/或字符串的文本組合起來。?
語法?CONCAT(text1…)?
text1 … 為 1 到 255個要聯(lián)接的文本項。這些文本項可以是文本字符串或字符串數(shù)組,如單元格區(qū)域。?
?說明?
如果結(jié)果字符串超過 32767 個字符(單元格限制),則 CONCAT 返回 #VALUE! 錯誤。
CONCATENATE 將幾個文本字符串合并為一個文本字符串。?
語法?
CONCATENATE (text1,text2,...)?
Text1, text2, ... 為 1 到 30 個將要合并成單個文本項的文本項。這些文本項可以為文本字符串、數(shù)字或?qū)蝹€單元格的引用。?
?說明?
也可以用 &(和號)運算符代替函數(shù) CONCATENATE 實現(xiàn)文本項的合并。
五、合成更改文件名指令
????????在D2中輸入:?="ren "&A2&" "&C2
? ? ? ? 目的是在D2欄生成 "ren <舊文件名> <新文件名>"格式的命令語句。
The REN (rename) command allows you to change the names of files on disk. The file satisfying ufn2 is changed to ufn1.?
REN是RENAME的縮寫,如果需要給文件重命名,可使用RENAME命令。
語法:
1
2
RENAME <舊文件名> <新文件名>
REN <舊文件名> <新文件名>
參數(shù):<舊文件名>請參數(shù)指定要更名的文件。
<新文件名>請參數(shù)指定更名后的文件。
說明:REN命令把由<舊文件名>指定的磁盤文件改變?yōu)?lt;新文件名>所指定的名稱。改名后原文件名消失,新文件名列于磁盤目錄中,原文件內(nèi)容不變。
<舊文件名>如特指一個文件,則必須是磁盤上已存在的文件:<新文件名>必須在該磁盤上不存在,否則文件名就無法更改,且有錯誤信息返回。<舊文件名>如用通配符,則<新文件名>的相應(yīng)部分也要用通配符。
六、制作BAT腳本
? ? ? ? 在當前文件路徑下,新建文本文件,將1.xls文件中D列生成的命令復(fù)制粘貼到其中,并另存為后綴為.bat的處理文件,如1.bat。
七、雙擊BAT腳本,將自動批量修改文件名
?
?八、總結(jié)
? ? ? ? 此方法用到Excel函數(shù)中的CONCAT、CONCATENATE 命令,以及BAT腳本中REN(RENAME)命令。文章來源:http://www.zghlxwxcb.cn/news/detail-717822.html
? ? ? ? 個人思考是否可以在批處理中配合正則匹配,將文件名逐個修改。知識儲備不足,待學習。文章來源地址http://www.zghlxwxcb.cn/news/detail-717822.html
到了這里,關(guān)于如何批量修改文件名的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!