How to delete all Files not listed in "FileName" variable?

2 ビュー (過去 30 日間)
Smithy
Smithy 2022 年 12 月 7 日
編集済み: Stephen23 2023 年 1 月 3 日
Hello everybody,
I have the file lists to be kept and other files should be deleted from the folders.
I tried as below. and error occures that Error using delete, Name must be a text scalar.
Is there a way to delete the files not listed in "FileName" variable?
clear; close all; clc;
% viriable "FileName" is the image file to be kept.
% and other files not listed in "FileName" should be deleted.
FileName = ["q1.jpg";"q2.jpg";"q3.jpg"];
temp = table(FileName);
MyFolderInfo = dir(fullfile(pwd, '*'));
MyFolderInfo = MyFolderInfo(~ismember({MyFolderInfo.name},{'.','..'}));
fileList = string({MyFolderInfo.name});
noNeed = [];
for i=1:length(fileList)
if ~strcmp(fileList(i),FileName)
noNeed = [noNeed; fileList(i)];
end
end
F = fullfile(pwd,noNeed);
delete(F) % Errr occures of Error using delete, Name must be a text scalar.

採用された回答

Walter Roberson
Walter Roberson 2022 年 12 月 7 日
Use
arrayfun(@delete, F)
  2 件のコメント
Smithy
Smithy 2022 年 12 月 7 日
編集済み: Stephen23 2023 年 1 月 3 日
It works perfectly. Thank you very much. I really appreciate with it.
Voss
Voss 2022 年 12 月 7 日
Another option:
delete(F{:})

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeGet Started with MATLAB についてさらに検索

タグ

製品


リリース

R2022a

Translated by