Error using rmdir when trying to remove folder

100 views (last 30 days)
Hi,
I want to remove folders with data in it, unfortunately it doesn't work and I do not really find help in google. On some machines the deletion works, sometimes at least.
I'm using this code:
if( exist(filePath, 'dir') )
rmdir( filePath, 's' );
end
The variable filePath is of class char containing the text:
'C:\Temp\HBTFiles\Current\Output\CS_P1_REGTEST'
I'm receiving the message
Error using rmdir
No directories were removed.
which occurs on the line
rmdir( filePath, 's' );
I'm using Matlab R2012a and Windows7 and I have write permissions on the specified folder. The folder was created in Matlab also, without throwing errors. I wonder how it first recognizes that the folder exists, and when it wants to delete it, it is not able to do so.
Has somebody an idea?
Thanks
Felix

Accepted Answer

per isakson
per isakson on 27 Oct 2014
If on Windows, an idea: cmd_rmdir

More Answers (3)

Roy Talman
Roy Talman on 24 Jul 2017
Edited: Walter Roberson on 24 Jul 2017
Try to empty the folder first, you cal do it by:
A = dir( <Dir> )
for k = 1:length(A)
delete([ <Dir> '\' A(k).name])
end
rmdir( <Dir> )

Felix
Felix on 24 Jul 2017
Thanks Roy for your answer.
Unfortunatelly I do no longer have access to matlab, so I can't test that. But any other person finding this post, this might help :)
Regards, Felix

db1024
db1024 on 12 Jan 2022
I am using MATLAB R2021b Update 2.
I am facing the same issue in the file matlab.io.datastore.mixin.RemoteToLocalFile
function deleteIfLocalCopy(obj)
%DELETEIFLOCALCOPY This helper deletes the temporary local file
% if a local copy was created during construction.
if ~obj.LocalCopyCreated
return;
end
localTempDir = fileparts(obj.LocalFileName);
if exist(localTempDir, 'dir')
rmdir(localTempDir, 's');
end
obj.LocalCopyCreated = false;
end
in my local machine:
Operating System: Microsoft Windows 10 Enterprise Version 10.0 (Build 19042)
Java Version: Java 1.8.0_202-b08 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode
Since RemoteToLocalFile is a built-in MATLAB function, I cannot use the propost solution.

Categories

Find more on File Operations in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!