天天看點

bat修改檔案内容_「excel」批量提取修改電腦檔案名稱

今兒分享的嚴格來說不算Excel的内容,但是會使用Excel。會分享這個内容是因為突然想起來了,想當初為了上司讓整理資料,幾百個檔案的名字都要修改成統一格式,為了偷懶我在網上搜了好久的教程,終于有了現在這個辦法,興奮了好久,可惜後來不能大規模部門内推廣,是以要是使用的話,自己偷着用,或者問問負責人讓不讓用哈。不多說,看正文~

以下面這個圖檔的檔案舉例子,很亂,什麼格式都有,檔案名字長短不一,一個一個改費勁,那怎麼辦呢?就得想有什麼辦法可以批量修改,那批量的話我就得先擷取這些檔案的名字,然後批量修改這些名字,那整個的處理過程就分為兩步,擷取原始名稱,修改統一格式。

bat修改檔案内容_「excel」批量提取修改電腦檔案名稱

檔案名稱不統一

第一步:擷取原始名稱

擷取的方式網上有很多,我也是從網上學來的,我盡量說的明白些哈。

第一種:TXT擷取法

1.在你将要提取檔案名的檔案夾内,建立一個txt格式的記事本檔案。

bat修改檔案内容_「excel」批量提取修改電腦檔案名稱

建立一個TXT,名稱随便寫

2.在記事本檔案中輸入:DIR *.* /B >LIST.TXT

bat修改檔案内容_「excel」批量提取修改電腦檔案名稱

TXT内寫内容

3.将此記事本檔案後辍名,由txt改為bat。會彈出重命名對話框,單擊“是”。

bat修改檔案内容_「excel」批量提取修改電腦檔案名稱

修改名字

4.改完了之後,輕按兩下運作這個檔案此時就會獲得一個LIST.TXT檔案,打開之後就時擷取到的檔案名稱了。

bat修改檔案内容_「excel」批量提取修改電腦檔案名稱

運作bat

這個檔案可以重複使用,把它儲存為一個常用小工具放在其他檔案夾裡運作,就可以擷取目前檔案夾下面的所有檔案名了。

第二種:cmd指令擷取法

這一種呢和上一個辦法類似。

1.點選菜單或者鍵盤的win鍵,彈出開始菜單,輸入cmd,打開它。

bat修改檔案内容_「excel」批量提取修改電腦檔案名稱

cmd

2.進入目标檔案夾(cd 目标檔案目錄),即在視窗輸入cd 要提取名稱的檔案夾路徑

bat修改檔案内容_「excel」批量提取修改電腦檔案名稱

步驟

3.擷取目前檔案下目錄資訊并儲存到某個盤的某個檔案中(dir >儲存路徑),即在視窗輸入dir >提取之後的檔案儲存路徑,比如dir >1.xls,測試過貌似隻能這一個格式,原因不知道,如果以後知道了那就再補充,這裡不妨礙使用即可。

bat修改檔案内容_「excel」批量提取修改電腦檔案名稱

步驟

4.我把檔案儲存在d盤了,是以d盤下就出現了1.xls檔案,打開之後就是這樣啦

bat修改檔案内容_「excel」批量提取修改電腦檔案名稱

結果

這個辦法比第一種要複雜一些,不熟悉的不要輕易嘗試,不然會試到崩潰,它沒法複制,就很氣人。反正我的電腦是沒法複制,每次寫路徑都是手敲,敲錯了還得重敲,ε=(´ο`*)))唉。

第三種:Excel宏檔案擷取法

這個辦法是上面兩個辦法的進階版,他可以作為一個工具使用,隻要設定好即可,而且提取的資訊很全面,即使是視訊的時長等資訊也可以擷取到,唯一的缺點就是,處理大批量的檔案時會很卡很耗時間,是以建議處理大批量的時候可以分批次處理,不然電腦卡了就很心累了。

1.開發者工具-插入-按鈕控件

bat修改檔案内容_「excel」批量提取修改電腦檔案名稱

插入控件

2.按鈕是在表格中畫出來的,然後回自動彈出指定宏的視窗,這時候就建立宏。

bat修改檔案内容_「excel」批量提取修改電腦檔案名稱

指定宏

3.然後在sub和end sub之間粘貼如下代碼,儲存宏。

Dim objShell, objFolder, objFolderItem, MyFile$, arr(500, 100), n& Set objShell = CreateObject("shell.application") With Application.FileDialog(msoFileDialogFolderPicker) .Title = "選擇檔案夾" If .Show = -1 Then objFolder = .SelectedItems(1) Else Exit Sub End With MyFile = Dir(objFolder & "*.*") Set objFolder = objShell.Namespace(objFolder) Do While MyFile <> "" Set objFolderItem = objFolder.ParseName(MyFile) If n = 0 Then For i = 0 To UBound(arr, 2) arr(0, i) = objFolder.GetDetailsOf(0, i) n = 1 arr(n, 0) = MyFile arr(n, i) = objFolder.GetDetailsOf(objFolderItem, i) Next Else For i = 0 To UBound(arr, 2) arr(n, 0) = MyFile arr(n, i) = objFolder.GetDetailsOf(objFolderItem, i) Next End If n = n + 1 MyFile = Dir Loop Cells.Clear Cells(1, 1).Resize(n + 1, UBound(arr, 2) + 1) = arr
           

4.下面嘛,美化它,按鈕上右擊,點編輯可以修改按鈕的名稱。至于怎麼使用?直接點選按鈕就會彈出視窗選擇要提取的檔案夾,然後稍等片刻。是真的很慢-_-||

bat修改檔案内容_「excel」批量提取修改電腦檔案名稱

使用步驟

這個辦法就是很慢,但是他提取的資訊很全面,使用的時候看看自己的需求,如果隻是提取檔案名稱,推薦第一和第二種,如果是提取視訊的時長,那可以使用這個工具。

第二步:修改統一格式

好的,檔案名稱提取好了,那下面就是如何去修改它。

1.按圖示整理檔案名稱,然後輸入="REN "&原始檔案名&" "&更改檔案名。

bat修改檔案内容_「excel」批量提取修改電腦檔案名稱

輸入函數

2.得到的指令複制粘貼到一個文本文檔中,儲存。

bat修改檔案内容_「excel」批量提取修改電腦檔案名稱

粘貼到txt

3.修改txt的擴充名為bat,輕按兩下運作,就變啦~

bat修改檔案内容_「excel」批量提取修改電腦檔案名稱

比如這樣

這種方式有一個弊端就是檔案名稱本身不能帶空格,不然的話就沒法變了。至于帶空格的怎麼辦呢?沒找到辦法,等以後學的多了,遇到了再補充。那這個教程到這裡就結束啦,可以自己嘗試一下。