Você perdeu um par de aspas duplas ...
O que está acontecendo é que @FILE
retorna o nome do arquivo envolto em aspas duplas, então você precisa referenciá-lo como tal na comparação da instrução IF.
Você pode testemunhar isso fazendo um forfiles /P "I:\testroot" /C "CMD /C echo @FILE"
e vendo que testung.txt
é ecoado como "testing.txt"
.
Para usar aspas duplas dentro de uma string (em vez de como um delimitador de string), você precisa escapar com um \
.
Então, quando fizermos isso, deve funcionar:
forfiles /P "I:\testroot" /C "CMD /C if /i @FILE==\"testung.txt\" del /s @FILE"