Usuário com melhor resposta
Comando apagar arquivo

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
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
- Editado Fábio JrModerator quinta-feira, 12 de março de 2015 19:17
- Sugerido como Resposta Rodolfo Kindlmann terça-feira, 17 de março de 2015 13:59
- Marcado como Resposta Fábio JrModerator terça-feira, 24 de março de 2015 14:25
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
- Editado Fábio JrModerator quinta-feira, 12 de março de 2015 19:17
- Sugerido como Resposta Rodolfo Kindlmann terça-feira, 17 de março de 2015 13:59
- Marcado como Resposta Fábio JrModerator terça-feira, 24 de março de 2015 14:25
-
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.GetChildItemCommandvaleu!
Rafael
Rafael C. Silva
- Editado Rafael C. Silva quarta-feira, 18 de março de 2015 14:46
-
-
-
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