fail to delete files using the delete command in R2018a
    9 ビュー (過去 30 日間)
  
       古いコメントを表示
    
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 件のコメント
  Stephen23
      
      
 2018 年 5 月 21 日
				"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.
採用された回答
  Walter Roberson
      
      
 2018 年 5 月 21 日
        delete(testname)
For an explanation see https://www.mathworks.com/help/matlab/matlab_prog/command-vs-function-syntax.html
2 件のコメント
  Sihem Nour El Houda
 2021 年 9 月 3 日
				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 
その他の回答 (1 件)
  Jianfei
 2025 年 3 月 6 日
        
      編集済み: Jianfei
 2025 年 3 月 6 日
  
      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 件のコメント
参考
カテゴリ
				Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




