%20usando%20arquivo%20em%20lote%20.png)
Meu código atual para excluir todos os arquivos em uma pasta com mais de 2 dias é:
forfiles /p "C:\Test" /s /m *.* /c "cmd /c Del /F /Q @path" /d 2
Há um.idfarquivo entre todos os outros arquivos. Quero excluir todos os arquivos, exceto o arquivo .idf. O que devo alterar para que o código atual ignore o arquivo? Se não for possível, qualquer novo comando será útil.
Responder1
Para melhorar um pouco sua abordagem:
- continue
forfiles
com/d -2
a opção para tratar apenas arquivos mais antigos - use
for %G
withif /I [%~xG] neq [.idf]
para omitir arquivos com.idf
extensão - dobre tudo
%
se for executado a partir de um arquivo em lote:%%G
em vez de%G
etc. - remova
@echo
assim que depurado.
O comando:
forfiles /p "C:\Test" /s /m *.* /c "cmd /c for %G in (@path) do @if /I [%~xG] neq [.idf] @echo del /F /Q %G" /d -2
Recursos(leitura obrigatória):
- (referência de comando)Um índice AZ da linha de comando do Windows CMD
- (particularidades adicionais)Sintaxe de linha de comando do shell CMD do Windows
- (
%~G
etc. página especial)Argumentos de linha de comando (parâmetros)