MATLAB 資料夾操作管理
阿新 • • 發佈:2019-02-20
在MATLAB中提供了很多的資料夾操作命令,可以在MATLAB的命令列視窗列出當前資料夾、顯示檔案和資料夾及新建資料夾和刪除資料夾等。
命令 | 說明 | 命令 | 說明 |
---|---|---|---|
pwd | 返回當前的資料夾 | mkdir newdir | 建立名為newdir的資料夾 |
matlabroot | 返回MATLAB的安裝資料夾 | rmdir newdir | 刪除名為newdir的資料夾 |
dir | 顯示當前資料夾中的檔案和子資料夾 | isdir | 判斷變數var是否為資料夾 |
cd yourdir | 更改資料夾 | copyfile | 複製檔案或資料夾 |
cd .. | 返回上一級目錄 | movefile | 移動檔案或資料夾 |
what | 顯示當前資料夾下的MATLAB檔案 | tempdir | 系統的臨時儲存目錄 |
which filename | 返回filename的資料夾 | tempname | 系統的臨時檔名 |
1.建立資料夾
可以利用 MATLAB 提供的 mkdir 函式建立夾檔案。mkdir 函式的呼叫格式如下:
- mkdir(‘folderName’)
- mkdir(‘parentFolder’,’folderName’)
- status = mkdir(…)
- [status,message,messageid] = mkdir(…)
其中,status 為返回的狀態值,如果為 1 代表建立成功,如果為 0 表示建立不成功;message 為出錯或資料夾已存在時返回的資訊;messageid 為返回的錯誤資訊的 ID。
在命令列視窗中輸入:
%在F盤建立名為test的資料夾
mkdir('F:\test')
%
%在指定的test資料夾下建立名為test2的資料夾
mkdir('F:\test','test2')
2.刪除資料夾
以利用 MATLAB 提供的 rmdir 函式刪除資料夾。其呼叫格式如下:
- rmdir(folderName)
- rmdir(folderName,’s’)
- [status, message, messageid] = rmdir(folderName,’s’)
其中,status 為返回的狀態值,如果為 1 代表建立成功,如果為 0 表示建立不成功;
message 為出錯或資料夾已存在時返回的資訊;messageid 為返回的錯誤資訊的 ID;s 引數是可選的,表示移除指定的資料夾和其資料夾內的所有內容。
%刪除指定檔案
rmdir('F:\test\1.m');
%刪除指定資料夾
rmdir('F:\test\test2');
3.複製檔案或資料夾
MATLAB 提供了 copyfile 函式,允許使用者複製檔案或資料夾。copyfile 函式的常用呼叫格式如下:
- copyfile(‘source’,’destination’):該命令複製原始檔或原始檔夾中的內容到目標檔案或目標資料夾。如果 source 是一個資料夾,則 MATLAB 會複製資料夾中的所有內容到指定的資料夾中,而不是複製資料夾本身。destination 表示的檔名稱可以和 source 不相同。如果 destination 表示的檔案已存在,copyfile 會直接替換檔案而不給出警告資訊。在 source 引數中可以使用萬用字元“*”。
- copyfile(‘source’,’destination’,’f’) :該命令把原始檔或原始檔夾中的內容複製到只讀檔案或資料夾中。
- [status,message,messageid] = copyfile(‘source’,’destination’,’f’)。
在當前檔案中複製檔案並修改檔案的名稱,在命令列輸入:
copyfile('1.m','2.m')
其結果將1.m的內容複製到2.m中。
複製一個資料夾的檔案到另一資料夾中:
copyfile('F:\test\1.m','F:\test\test2\2.m')
另外,對於下面程式碼:
[status,mess,id]=copyfile('F:\test\1.m','F:\test\test2\2.m')
當複製檔案不存在時,則返回如下資訊:
statu=
0
mess=
No matching files were found
id=
MATLAB:COPYFILE:FileDoesNotExist
4.移動檔案或資料夾
MATLAB 提供了 movefile 函式,允許使用者移動檔案或資料夾。movefile 函式的常用呼叫格式如下:
- movefile(‘source’):將名為 source 的資料夾或檔案移動到當前目錄中
- movefile(‘source’,’destination’):將原始檔或原始檔夾中的內容移動到目標檔案或者目標資料夾中
- [status,message,messageid]=movefile(…)
將指定的檔案移動到當前目錄中:
%獲取當前資料夾中的上級資料夾中的1.bmp的路徑
String=fullfile('..\','1.bmp')
%移動檔案
movefile(String)
利用萬用字元*批量複製檔案:
%將F:\test\下的所有jpg圖片移動到F:\test\test2\中
movefile('F:\test\*.jpg','F:\test\test2\')