當前位置:
首頁 > 最新 > 利用MATLAB批量對文件重命名

利用MATLAB批量對文件重命名

竊·格瓦拉

沒paper,實驗肯定要做啊,不做就畢不了業 。

編程這方面,編程是不可能編程的,這輩子不可能編程的 。

paper又發不了 就是寫這種東西 才能維持的了生活這樣子

進實驗室感覺像回家一樣 在實驗室里的感覺比寢室里感覺好多了! 裡面個個都是人才,說話又好聽,我超喜歡裡面的!

——竊·格瓦拉

前段時間想著天天做實驗太無聊了,可以抽時間把平時自己一些科研的小tips分享出來,這樣至少可以做到有些輸出,而不是每天都是做無聊的實驗,幾年如一日,毫無社交毫無長進。

這個系列打算一直做下去,這部分就是關於MATLAB的。MATLAB這麼強大的工具除了可以用來做科學計算,模擬模擬以外還可以助力我們平時的科研辦公。所以,平時用的到MATLAB的小夥伴們可以一起交流學習一下。


背景:

有時候文件夾中有一堆相同類型的文件,剛開始拷貝進去的時候排列的順序就是按照我們最開始放進去的時間來排列的(即按照最新修改順序),但是後面我們可能對立面的某些文件作出一些修改,那這樣順序就變了,但是我又只想要最開始的排列順序。

因為文件名完全無規則,我們無法通過文件名的索引順序排列。這個時候就得在最開始的時候就對文件進行重命名,讓文件名本身帶上數字或者字母等方便排序的內容。但是一個文件就操作的一次的話是很累的一件事。

需要修改名稱的文件

方案:

所以今天給大家介紹下我的做法,用MATLAB實現批量修改文件名稱,包括兩種方法:

一種是自由度比較小的,只能在文件本身名字的基礎上加上前綴或者後綴,可以是數字或字母

另一種是自由度比較大的,不過在中間修改文件名字的時候要藉助Excel。

可以看自己的需求選用吧,文末會附上實現的完整代碼。下面分別介紹兩種方法。


1. 先獲取指定路徑下的所有特定文件名稱,此處用到dir函數

2. 利用循環將每個文件依次重命名,順序是按照在該文件夾下本來的順序。這裡為了不破壞原有文件,我們選擇copyfile函數把文件複製為新文件到其他地址。

到這裡,所有的文件就按照順序重命名為新的格式了,存在「處理好的數據」文件夾中。且命名的格式是按照你設定的格式。

方案二:

1. 先獲取指定路徑下的所有特定文件名稱,此處還是用到dir函數

2. 將獲取到的文件名稱變數寫入到一個指定的Excel文件中,這裡因為我們獲取到的Files變數是一個元胞數組,每個原胞中有name屬性的變數,所以要應用循環來將每個元胞數據中的name變數提取出來。

3. 在Excel文件中按自己想需求修改文件名稱,這裡Excel怎樣操作就不介紹了,畢竟不同人有不同的需求。

按自己需求修改文件名稱

4. 修改完之後需要做的就是如何把修改完之後的名稱變數按順序重新命名給對應的文件。這裡先把修改完的名稱變數從Excel文件中讀取出來。

5. 跟寫入Excel文件過程類似,將Excel中的名稱變數寫回每個對應的文件也需要用到循環。這裡為了不破壞原有文件,我們選擇copyfile函數把文件複製為新文件到其他地址。

這樣名稱就修改完了。在「處理好的數據」文件夾中就有複製且改完名稱的數據文件。

總結

可以用matlab通過dir函數和循環批量對文件重命名,重命名的格式可以自己在程序中設定(方案一),也可以在中途藉助Excel文件設定(方案二)。方案二重命名自由度會大一些,而方案一隻能給文件加上統一格式的前綴(比如數字序號)等內容。

大家可以視情況自由選擇。

最後附上方案一和二的完整代碼:

方案一:

方案二(上):

方案二(下):


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 薛定諤不在家 的精彩文章:

TAG:薛定諤不在家 |