imgdir=
dir(
'*.*');
for i=3:
length
(imgdir)
namesplit=
strsplit
(imgdir
(i).name,
'_');if
length
(namesplit)
>1if
strcmp
( namesplit(1
:2),
'ir'
)eval([
'!rename'
32imgdir
(i).name 32
[num2str
(i-2
)'_ir.bmp']]
);end
endend
訪問資料夾中的子檔案,*.*表示所有型別所有名稱的檔名,
imgdir=
dir(
'*.*'
);
使用dir函式後會得到struct型別的變數,使用.name就可以獲取檔名了,需要注意的是,前兩個是檔案目錄,在遍歷的時候需要跳過
使用rename關鍵字對檔案進行重新命名,32表示空格的意思,這裡感覺像個命令函式,通過win10命令對檔案進行操作
eval([
'!rename'
32imgdir
(i).name 32
[num2str
(i-2
)'_ir.bmp']]
);
詳細解釋一下:
eval:執行命令
!rename:重新命名
32:空格
imgdir(i).name:獲取第i個檔案的檔名
num2str(i-2):將(i-2)這個數字轉化為字串型別
[num2str(i-2) '_ir.bmp']:這樣寫就可以得到類似「6_ir.bmp」的字串
['!rename' 32 imgdir(i).name 32 [num2str(i-2) '_ir.bmp']]:這樣寫就類似於讓系統執行
「!rename pic.bmp 6_ir.bmp」 這個命令
利用遞迴刪除資料夾(資料夾中套資料夾)
刪除目錄 bool deldir const ansistring p if p.isempty p.length 4 return false 引數必須大於3,即不能為磁碟根目錄或空白 int len p.length char path p.c str ansistring dir ansist...
matlab遍歷資料夾
這又是個matlab程式,上次幫同學寫了個提取序列的函式,這次要能自動將資料夾中所有檔案自動的識別並建立對應的資料夾,資料夾名要和檔案中某個字段相同。tmp1 mkdir dir final system tmp1 資料夾建立完成 我試了下,用下面的函式系統就自動關機了,fun shutdown s...
matlab檔案 資料夾操作
定義路徑 f fullfile c download pwd 返回當前路徑cd c toolbox matlab demos 切換當前工作目錄到demos cd 切換當前工作目錄到matlabboolean isfolder f boolean isempty f files dir f files...