1. 程式人生 > >MATLAB 資料夾操作管理

MATLAB 資料夾操作管理

  在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\')