fail to delete files using the delete command in R2018a
8 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Songqiu
el 21 de Mayo de 2018
Hi, everyone,
The current dir is F:\Test
I tested to delete files using the following commands:
TestName = 'F:\Test\Test\Test.xlsx'
delete TestName
But it failed to work:

When I set the current dir to F:\Test\Test and using the following commands:
TestName = 'Test.xlsx'
delete TestName
It also failed to work:

But when I using the delete 'Test.xlsx' command, it succeeded:

Does anyone have the same problem or who can tell me why?
Thank you very much in advance.
1 comentario
Stephen23
el 21 de Mayo de 2018
"Does anyone have the same problem or who can tell me why?"
Because you are using command syntax, which interprets all trailing inputs as literal strings. So when you enter this:
Delete TestName
it is exactly equivalent to this:
Delete('TestName')
Thus none of your examples (except the last one) are trying to delete that file. If you want to use a variable as an input argument to a function then you will need to use function syntax, as Walter Roberson showed. Note also that none of the examples in the MATLAB help show command syntax being used with an input argument.
Respuesta aceptada
Walter Roberson
el 21 de Mayo de 2018
delete(testname)
For an explanation see https://www.mathworks.com/help/matlab/matlab_prog/command-vs-function-syntax.html
2 comentarios
Sihem Nour El Houda
el 3 de Sept. de 2021
Hello , sir . I tried to use the delete command many times but it wouldn't work. I can't seem to understand why as I followed many examples. What I'm working on is : if an image verifies a condition that is defined, delete the file !
The code runs but the image file is always present in the folder !
I would really appreciate your help with this as I need it to loop through tens of images prior to the training of a CNN.
Thanks in a advance
Más respuestas (1)
Jianfei
el 6 de Mzo. de 2025
Editada: Jianfei
el 6 de Mzo. de 2025
Deleting a file may fail even if that file has not being used. I tried to use Java io functions to delete files, but it still can't guarantee success.
My wordaround:
Write a delete function contains a while loop to check if the file has already been deleted. Use an expiration time as input.
It can't guarantee 100% success, but greatly increase your success rate.
0 comentarios
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!