matlab:フォルダ削除(ファイルが含まれる場合)

Matlabのバージョン

Matlab2021a

必要なToolbox

特になし

注意すべき点

フォルダの中にファイル(例:〇〇.csv)などが含まれる場合,フォルダを削除できない。したがって,「①ファイルを削除,②空になったフォルダを削除」 の2段階を踏まなければならない。

mファイルソースコード

% % example program
% FolderName = 'Test';
% flag = 1; % 一階層のフォルダ構成の場合(例:./Test/〇〇.csv
% % flag = 2; % 二階層のフォルダ構成の場合(例:./Test/Test2/〇〇.csv
% func_delete_folder(FolderName,flag)

function func_delete_folder(FolderName,flag)

mkdir (FolderName)
FolderInfo = dir(FolderName);  % 情報抽出

% 一階層の場合
if flag == 1
    for num_data = 3 : length(FolderInfo)
        FileName = getfield(FolderInfo,{num_data},'name');
        delete ([FolderName,'/',FileName])
    end
    rmdir (FolderName)
else
    % 二階層の場合
    for num_data = 3 : length(FolderInfo)
        SubFolderName = getfield(FolderInfo,{num_data},'name');
        SubFolderInfo = dir([FolderName,'/',SubFolderName]);  % 情報抽出
        for sub_num_data = 3 : length(SubFolderInfo)
            SubFileName = getfield(SubFolderInfo,{sub_num_data},'name');
            delete ([FolderName,'/',SubFolderName,'/',SubFileName])
        end
        rmdir ([FolderName,'/',SubFolderName])
    end
    rmdir (FolderName)
end