none
Comando apagar arquivo RRS feed

  • Pergunta

  • Pessoal,

    Estou querendo utilizar um comando para apagar dois tipos de arquivos.

    Primeiro que faça a pesquisa dentro de uma pasta com subpastas e delete arquivos que começam com a letra PR

    Segundo que faça a pesquisa dentro de uma pasta com subpastas e delete arquivos com tamanho definido.

    Att,

    Rafael


    Rafael C. Silva

    terça-feira, 10 de março de 2015 19:46

Respostas

  • Rafael,

    Dê uma olhada nestes dois comandos (PowerShell)

    #Arquivos que começam com PR
    dir c:\temp -Recurse -File | ? {$_.Name -like "PR*"}
    
    #Arquivo com tamanho inferior a 2000 bytes
    dir c:\temp -Recurse -File | ? {$_.Length -lt 2000}

    Eles apenas listam, quando você tiver certeza que eles estão selecionando exatamente o que você precisa então adcione "| remove item" no final de cada comando assim:

    #Arquivos que começam com PR
    dir c:\temp -Recurse -File | ? {$_.Name -like "PR*"} | Remove-Item
    
    #Arquivo com tamanho inferior a 2000 bytes
    dir c:\temp -Recurse -File | ? {$_.Length -lt 2000}  | Remove-Item
    Você não disse qual o tamanho do arquivo então terá que acertar a procura, eu usei -lt 2000 (less than 2000), tem -eq, -gt...


    Fábio de Paula Junior


    quinta-feira, 12 de março de 2015 19:17
    Moderador

Todas as Respostas

  • Rafael,

    Dê uma olhada nestes dois comandos (PowerShell)

    #Arquivos que começam com PR
    dir c:\temp -Recurse -File | ? {$_.Name -like "PR*"}
    
    #Arquivo com tamanho inferior a 2000 bytes
    dir c:\temp -Recurse -File | ? {$_.Length -lt 2000}

    Eles apenas listam, quando você tiver certeza que eles estão selecionando exatamente o que você precisa então adcione "| remove item" no final de cada comando assim:

    #Arquivos que começam com PR
    dir c:\temp -Recurse -File | ? {$_.Name -like "PR*"} | Remove-Item
    
    #Arquivo com tamanho inferior a 2000 bytes
    dir c:\temp -Recurse -File | ? {$_.Length -lt 2000}  | Remove-Item
    Você não disse qual o tamanho do arquivo então terá que acertar a procura, eu usei -lt 2000 (less than 2000), tem -eq, -gt...


    Fábio de Paula Junior


    quinta-feira, 12 de março de 2015 19:17
    Moderador
  • Fabio,

    copiei um arquivo que comece com "PR" na pasta c:\temp e Executei o comando e informa que não é possível localizar um parâmetro que coincida com o nome e parâmetro"file"

    Get-ChildItem : Não é possível localizar um parâmetro que coincida com o nome d
    e parâmetro 'File'.
    Em C:\apaga-pr.ps1:1 caractere:27
    + dir c:\temp -Recurse -File <<<<  | ? {$_.Name -like "PR*"}
        + CategoryInfo          : InvalidArgument: (:) [Get-ChildItem], ParameterB
       indingException
        + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Comm
       ands.GetChildItemCommand

    valeu!

    Rafael


    Rafael C. Silva



    quarta-feira, 18 de março de 2015 14:39
  • Rafael,

    Pode ser por causa da versão do Powershell que você está usando.

    Verifique qual versão você está usando com o comando host.


    Fábio de Paula Junior

    sexta-feira, 20 de março de 2015 18:14
    Moderador
  • Fabio,

    O tamanho é sempre entre 2000000 bytes e 4300000 bytes, não achei este comando, existe?

    valeu!


    Rafael C. Silva

    quarta-feira, 25 de março de 2015 21:17
  • então são duas condições que você tem que avaliar.

    dir c:\temp -Recurse -File | ? {$_.Length -gt 2000000 -and $_.Length -lt 4300000}  | Remove-Item

    Ref.:

    PowerShell Tutorial 8: Conditional Logic (if, elseif, else, and switch)

    http://www.powershellpro.com/powershell-tutorial-introduction/powershell-tutorial-conditional-logic/


    Fábio de Paula Junior

    quinta-feira, 26 de março de 2015 02:47
    Moderador