none
HELP: Script to exclude smaller files (small files) | SOCORRO: Script para apagar apenas arquivos pequenos. RRS feed

  • Pergunta

  • I speak Portuguese. I do not speak english. I use google translate. romulominduiN@yahoo.com.br

    -I need to delete small files (less than 2kb or 2048 bytes). Large files can not be excluded.
    -I need to do this in the "d: \ test" and its subdirectories, but does not work on subfolders.
    -The Batch file have to delete files with "big names". Windows names with space and special characters, but only runs with name MSDOS with 8 characters.

    Can someone help me? Fix my batch file:

    @echo off
    pushd D:\teste\
    for %%j in (*) do if %%~zj lss 2048 del %%j 
    popd

    I can not open the folder in windows, over 10,000 files, windows crashes.
    I need to settle for the batch file, msdos is robust, msdos does not crash.
    Small files are useless to me. I need only large files
    romulominduiN@yahoo.com.br

    PORTUGUES - PORTUGUES - PORTUGUES ROMULOMINDUIN@YAHOO.COM.BR

    -Preciso deletar arquivos pequenos (abaixo de 2kb). Arquivos grandes não podem ser excluidos.
    -Preciso fazer isso na pasta "d:\teste" e nas suas subpastas, mas não funciona nas subpastas.
    -O arquivo de lote tem que excluir arquivos com "nomes grandes" . Nomes do windows com espaço e caracteres especiais, mas roda apenas com nome de MSDOS com 8 caracteres.

    Alguém pode me ajudar? Conserte / CORRIJA o meu arquivo de lotes:

    @echo off
    pushd D:\teste\
    for %%j in (*) do if %%~zj lss 2048 del %%j 
    popd

    Eu não posso abrir a pasta no windows, mais de 10000 arquivos, windows trava.
    Eu preciso resolver por arquivo de lote, msdos é robusto, msdos não trava.
    Arquivos pequenos são inuteis pra mim. Eu preciso somente de arquivos grandes
    sexta-feira, 6 de novembro de 2015 14:52

Todas as Respostas

  • Romulo,

    Pode ser em PowerShell? Veja o exemplo abaixo:

    $files = Get-ChildItem -path d:\teste -Recurse
    foreach ($file in $files)
    {
        if($file.Length -le '2048')
        {
            Write-Host $file, $file.Length
            Remove-Item $file.FullName -Force
        }
    }
    
    Veja se atente, qualquer coisa avise.

    Se a resposta fornecida nessa thread ajudou na sua solução, não esqueça de marcar como resposta!

    Abraço,
    Gustavo Zimmermann Montesdioca - MTAC, MCT
    Blog: www.gm9.com.br

    sexta-feira, 6 de novembro de 2015 16:06