none
Script para deletar arquivos de uma pasta mas manter um arquivo especifico. RRS feed

  • Pergunta

  • Boa tarde, gostaria da ajuda de vocês para verificar se é possivel criar um script que deleta todos arquivos e mantem um arquivo especifico, Ex.    tenho vairios arquivos diarios criados em uma maquina mas toda noite roda um bat que exclui os arquivos mas mantem um arquivo que tenha o nome de teste.txt.

    tem como fazer em powershell ou VBS ou bat ??

    Vlwwww


    Tiago Frioli

    terça-feira, 25 de outubro de 2016 16:09

Respostas

  • Olá, Tiago

    Fiz um exemplo de script em PowerShell que você pode utilizar:

    Copy-Item c:\Dados\Manter_Teste.txt c:\temp

    Remove-Item c:\Dados\* -force -recurse

    Copy-Item c:\Temp\Manter_Teste.txt c:\Dados

    Remove-Item c:\Temp\Manter_Teste.txt -force -recurse

    Crie um arquivo .ps1 e coloque nas tarefas agendadas do Windows para que ele seja executado diariamente.

    Explicando o funcionamento do Script:

    # Copiar o arquivo que será mantido para uma pasta temporária

    Copy-Item c:\Dados\Manter_Teste.txt c:\temp

    # Excluir todos arquivos da pasta

    Remove-Item c:\Dados\* -force -recurse

    # Copiar de volta o arquivo que deve ser mantido

    Copy-Item c:\Temp\Manter_Teste.txt c:\Dados

    # Remover o arquivo da pasta temporária

    Remove-Item c:\Temp\Manter_Teste.txt -force -recurse

    .


    Vladimir Faustino ITILv3 | MCP | MCTS | MTA


    • Editado VladimirFaustino quarta-feira, 26 de outubro de 2016 00:56
    • Marcado como Resposta Tiago Frioli quarta-feira, 26 de outubro de 2016 12:48
    quarta-feira, 26 de outubro de 2016 00:55
  • Olá, Tiago

    Fiz um exemplo de script em PowerShell que você pode utilizar:

    Copy-Item c:\Dados\Manter_Teste.txt c:\temp

    Remove-Item c:\Dados\* -force -recurse

    Copy-Item c:\Temp\Manter_Teste.txt c:\Dados

    Remove-Item c:\Temp\Manter_Teste.txt -force -recurse

    Crie um arquivo .ps1 e coloque nas tarefas agendadas do Windows para que ele seja executado diariamente.

    Explicando o funcionamento do Script:

    # Copiar o arquivo que será mantido para uma pasta temporária

    Copy-Item c:\Dados\Manter_Teste.txt c:\temp

    # Excluir todos arquivos da pasta

    Remove-Item c:\Dados\* -force -recurse

    # Copiar de volta o arquivo que deve ser mantido

    Copy-Item c:\Temp\Manter_Teste.txt c:\Dados

    # Remover o arquivo da pasta temporária

    Remove-Item c:\Temp\Manter_Teste.txt -force -recurse

    .


    Vladimir Faustino ITILv3 | MCP | MCTS | MTA


    Obrigado Vladimir pela ajuda.

    mas fiz o seguinte e resolveu meu problema.

    Get-ChildItem -Path "C:\teste\" -Exclude teste.txt | Remove-Item

    ele deleta tudo menos o teste.txt

    mas valeu pela ajuda amigo, muito obrigado


    Tiago Frioli

    • Marcado como Resposta Tiago Frioli quarta-feira, 26 de outubro de 2016 12:48
    quarta-feira, 26 de outubro de 2016 12:48

Todas as Respostas

  • Uma sugestão: No script, copie o único arquivo que será preservado em uma pasta temporária. Apague tudo usando algo como del *.*, depois copia de volta o arquivo para a pasta original.
    terça-feira, 25 de outubro de 2016 17:53
  • Olá, Tiago

    Fiz um exemplo de script em PowerShell que você pode utilizar:

    Copy-Item c:\Dados\Manter_Teste.txt c:\temp

    Remove-Item c:\Dados\* -force -recurse

    Copy-Item c:\Temp\Manter_Teste.txt c:\Dados

    Remove-Item c:\Temp\Manter_Teste.txt -force -recurse

    Crie um arquivo .ps1 e coloque nas tarefas agendadas do Windows para que ele seja executado diariamente.

    Explicando o funcionamento do Script:

    # Copiar o arquivo que será mantido para uma pasta temporária

    Copy-Item c:\Dados\Manter_Teste.txt c:\temp

    # Excluir todos arquivos da pasta

    Remove-Item c:\Dados\* -force -recurse

    # Copiar de volta o arquivo que deve ser mantido

    Copy-Item c:\Temp\Manter_Teste.txt c:\Dados

    # Remover o arquivo da pasta temporária

    Remove-Item c:\Temp\Manter_Teste.txt -force -recurse

    .


    Vladimir Faustino ITILv3 | MCP | MCTS | MTA


    • Editado VladimirFaustino quarta-feira, 26 de outubro de 2016 00:56
    • Marcado como Resposta Tiago Frioli quarta-feira, 26 de outubro de 2016 12:48
    quarta-feira, 26 de outubro de 2016 00:55
  • Olá, Tiago

    Fiz um exemplo de script em PowerShell que você pode utilizar:

    Copy-Item c:\Dados\Manter_Teste.txt c:\temp

    Remove-Item c:\Dados\* -force -recurse

    Copy-Item c:\Temp\Manter_Teste.txt c:\Dados

    Remove-Item c:\Temp\Manter_Teste.txt -force -recurse

    Crie um arquivo .ps1 e coloque nas tarefas agendadas do Windows para que ele seja executado diariamente.

    Explicando o funcionamento do Script:

    # Copiar o arquivo que será mantido para uma pasta temporária

    Copy-Item c:\Dados\Manter_Teste.txt c:\temp

    # Excluir todos arquivos da pasta

    Remove-Item c:\Dados\* -force -recurse

    # Copiar de volta o arquivo que deve ser mantido

    Copy-Item c:\Temp\Manter_Teste.txt c:\Dados

    # Remover o arquivo da pasta temporária

    Remove-Item c:\Temp\Manter_Teste.txt -force -recurse

    .


    Vladimir Faustino ITILv3 | MCP | MCTS | MTA


    Obrigado Vladimir pela ajuda.

    mas fiz o seguinte e resolveu meu problema.

    Get-ChildItem -Path "C:\teste\" -Exclude teste.txt | Remove-Item

    ele deleta tudo menos o teste.txt

    mas valeu pela ajuda amigo, muito obrigado


    Tiago Frioli

    • Marcado como Resposta Tiago Frioli quarta-feira, 26 de outubro de 2016 12:48
    quarta-feira, 26 de outubro de 2016 12:48