diff options
Diffstat (limited to 'win32/rmdirs.bat')
-rwxr-xr-x | win32/rmdirs.bat | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/win32/rmdirs.bat b/win32/rmdirs.bat new file mode 100755 index 0000000000..a8549cc125 --- /dev/null +++ b/win32/rmdirs.bat @@ -0,0 +1,29 @@ +::-*- batch -*-
+@echo off
+if "%1" == "-p" shift
+:begin
+if "%1" == "" goto :end
+ set dir=%1
+ shift
+ set dir=%dir:/=\%
+ :rmdirs
+ if not exist "%dir%\." goto :begin
+ if "%dir%" == "." goto :begin
+ if "%dir%" == ".." goto :begin
+ rd "%dir%" || goto :begin
+ :trim_sep
+ if not /%dir:~-1%/ == /\/ goto :trim_base
+ set dir=%dir:~0,-1%
+ if not "%dir%" == "" goto :trim_sep
+ :trim_base
+ if /%dir:~-1%/ == /\/ goto :parent
+ set dir=%dir:~0,-1%
+ if not "%dir%" == "" goto :trim_base
+ :parent
+ set dir=%dir:~0,-1%
+ if "%dir%" == "" goto :begin
+ if "%dir:~-1%" == ":" goto :begin
+ goto :rmdirs
+shift
+goto :begin
+:end
|