From 2f9b4a2e9f09e1de31ca39f1fb734fee859bcb17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Sat, 11 Jul 2020 20:34:18 +0200 Subject: [PATCH] [CMD] RMDIR: Force directory deletion even if it's read-only, only when recursing over subdirectories (via the /S option). --- base/shell/cmd/internal.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/base/shell/cmd/internal.c b/base/shell/cmd/internal.c index 95416b4278b..3de6368583f 100644 --- a/base/shell/cmd/internal.c +++ b/base/shell/cmd/internal.c @@ -408,6 +408,7 @@ BOOL DeleteFolder(LPTSTR FileName) } else { + /* Force file deletion */ SetFileAttributes(TempFileName, FILE_ATTRIBUTE_NORMAL); if (!DeleteFile(TempFileName)) { @@ -420,6 +421,8 @@ BOOL DeleteFolder(LPTSTR FileName) FindClose(hFile); } + /* Force directory deletion even if it's read-only */ + SetFileAttributes(FileName, FILE_ATTRIBUTE_NORMAL); return RemoveDirectory(FileName); } @@ -506,6 +509,7 @@ INT cmd_rmdir(LPTSTR param) } else { + /* Without /S, do not force directory deletion even if it's read-only */ res = RemoveDirectory(arg[i]); }