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

6 visualizaciones (últimos 30 días)
Smithy
Smithy el 7 de Dic. de 2022
Editada: Stephen23 el 3 de En. de 2023
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.

Respuesta aceptada

Walter Roberson
Walter Roberson el 7 de Dic. de 2022
Use
arrayfun(@delete, F)
  2 comentarios
Smithy
Smithy el 7 de Dic. de 2022
Editada: Stephen23 el 3 de En. de 2023
It works perfectly. Thank you very much. I really appreciate with it.
Voss
Voss el 7 de Dic. de 2022
Another option:
delete(F{:})

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Environment and Settings en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by