Что значит
RD %cd% не удаляет
? — Должно же быть какое-то сообщение об ошибке, которое нужно привести в вопросе.
Если в каталоге есть открытые файлы, он занят какими либо процессами или недостаточно прав для удаления каталога или файлов в нём, то естественно не удалит.
Чтобы каталог не был занят самим процессом cmd.exe перейдите в надкаталог и удалите прежний рабочий каталог:
for %%D in (.) do (cd ..& rd "%%~fD")
или, если переменная среды
CD
не определена, используйте одноимённую псевдопеременную:
cd ..& rd "%CD%"
В обоих случаях требуется расширенная обработка команд (по умолчанию включена). Команда
RD
скорее всего потребует дополнительные ключи (
/S
и
/Q
).
Следует заметить, что если сам командный файл находится в удаляемом каталоге, то после выполнения текущей команды (возможно, составной) последующие команды выполнены не будут, так как командные файлы в память целиком не считываются.