ok, em vez de usar o objeto filesystem, decidi usar o comando DIR simples no loop FOR,
@echo off
for /f "tokens=*" %%i in ('dir /s /a:D /b \?\C:\*.*^|"%~dp0"\findstr /I /V /G:"%~dp0\exclusion.txt"') do Call :Delete "%%i"
:Delete
echo found %1
rd /s /q %1
aqui está o que acontece:
DIR lista todos os diretórios em \? \ C: \ recursivamente e gera uma lista simples para a saída para findstr que exclui os nomes encontrados naquele arquivo de texto e, em seguida, chama o comando delete, o arquivo exclusion.txt contém os itens que eu quero excluir obrigado a você e "TheOutcaste" deste tópico: forums.techguy.org /.../ 833910-solved-help-r-loop.html