Você pode usar o seguinte no seu arquivo de lote:
FOR /f "tokens=*" %%a in ('dir *.delete /A:D /B /S') DO RMDIR /S /Q %%a
Isso usa o comando FOR
para percorrer a saída de um determinado comando (nesse caso, dir *.delete /A:D /B /S
e, para cada item retornado, ele executará o comando especificado com a instrução DO, RMDIR /S /Q
. O item é referido pela variável %%a
.
O motivo pelo qual não funciona simplesmente canalizar a saída DIR
para RMDIR
é porque você está enviando toda a saída (várias linhas) de uma só vez como um único parâmetro para RMDIR
. O comando FOR
decompõe essa saída, percorre cada item e envia isso para RMDIR
, um por um.