ruby/win32/rm.bat
Nobuyoshi Nakada 3cd809deb5
Win32: Fix rm.bat
- `if exist` and `del` ignore directories matching the wildcard,
  remove both separately.

- `rd /s` ignores wildcards, while `del` removes ordinary files by the
  wildcard, iterate over matching directories by `for /D`.
2024-12-31 14:53:07 +09:00

18 lines
404 B
Batchfile
Executable file

@echo off
setlocal
set recursive=
:optloop
if "%1" == "-f" shift
if "%1" == "-r" (shift & set "recursive=1" & goto :optloop)
if "%1" == "--debug" (shift & set PROMPT=$E[34m+$E[m$S & echo on & goto :optloop)
:begin
if "%1" == "" goto :end
set p=%1
set p=%p:/=\%
if exist "%p%" del /q "%p%" > nul
if "%recursive%" == "1" for /D %%I in (%p%) do (
rd /s /q %%I
)
shift
goto :begin
:end