none
Batch File - Remover Diretório mais antigo RRS feed

  • Pergunta

  • Olá Amigos;


    É possível criar um batch file para remover a pasta mais antiga, de um determinado grupo?

    Se afirmativo, poderiam me citar exemplos?


    Muito Obrigado.
    • Movido Richard Juhasz segunda-feira, 10 de janeiro de 2011 18:01 thread movida (De:Windows Server 2003)
    quarta-feira, 5 de janeiro de 2011 13:33

Respostas

  • Mendes,

    O script abaixo deleta a última pasta criada dentro pasta D:\temp.

    strPastaOrigem = "D:\Temp"

    Set fso = CreateObject("Scripting.FileSystemObject")

    Set Pasta = fso.GetFolder(strPastaOrigem)
    Set colSubfolders = pasta.Subfolders

    dtUltimaData = DateAdd("y",-100,now)
    strUltimaPasta = ""

    For each objSubfolder In colSubfolders
     if objSubfolder.DateLastModified >= dtUltimaData then
     strUltimaPasta = objSubfolder.Name
     dtUltimaData = objSubfolder.DateLastModified

     end if
    next

    wscript.echo "O ultimo Diretorio gravado no Caminho " & strPastaOrigem & _
       " foi o " & strUltimaPasta & " em " & dtUltimaData

    wscript.echo pasta & "\" & strUltimaPasta

    'Excluir a Pasta
    if strUltimaPasta <> "" then fso.DeleteFolder pasta & "\" & strUltimaPasta

     

    Para colocar esse script em alguma rotina (schedular) retire as linhas wscript.echo elas são apenas para mostrar a pasta que será deletada para que você possa realizar um teste no seu ambiente antes de colocar em produção.

    Esse script não é bat é vbscript. Você deve salvar com a extenção .vbs.

    ______________________________________

    Elmo Baraúna (MCP - MCDST - MCSA - MCT)

    • Sugerido como Resposta Elmo Baraúna quinta-feira, 6 de janeiro de 2011 00:14
    • Marcado como Resposta Fábio JrModerator quinta-feira, 12 de janeiro de 2012 12:30
    quarta-feira, 5 de janeiro de 2011 16:45

Todas as Respostas

  • Olá Mendes,

    Só não entendi a questão da pasta de determinado grupo? Como assim grupo?

    Tem como excluir, por exemplo, a última pasta criada dentro de um diretório. Por exemplo. Você tem uma estrutura D:\Diretorios\Mes\ e quer excluir a última pasta criada / alterada dentro da pasta Mes. Mas de um grupo não entendi.

    Poderia explicar melhor?

    _______________________________________________
    Elmo Baraúna (MCP -MCDST - MCSA - MCT)

    quarta-feira, 5 de janeiro de 2011 14:19
  • Olá Elmo, desculpe não me expressei de maneira correta.

     

    Ignore o termo grupo.


    Digamos que eu tenha uma série de pastas em uma determinada unidade:

     

    Poderia me dar um exemplo de bat, ou script para remover a pasta mais "Antiga", usando o critério data?



    Muito Obrigado.

    quarta-feira, 5 de janeiro de 2011 15:13
  • Mendes,

    O script abaixo deleta a última pasta criada dentro pasta D:\temp.

    strPastaOrigem = "D:\Temp"

    Set fso = CreateObject("Scripting.FileSystemObject")

    Set Pasta = fso.GetFolder(strPastaOrigem)
    Set colSubfolders = pasta.Subfolders

    dtUltimaData = DateAdd("y",-100,now)
    strUltimaPasta = ""

    For each objSubfolder In colSubfolders
     if objSubfolder.DateLastModified >= dtUltimaData then
     strUltimaPasta = objSubfolder.Name
     dtUltimaData = objSubfolder.DateLastModified

     end if
    next

    wscript.echo "O ultimo Diretorio gravado no Caminho " & strPastaOrigem & _
       " foi o " & strUltimaPasta & " em " & dtUltimaData

    wscript.echo pasta & "\" & strUltimaPasta

    'Excluir a Pasta
    if strUltimaPasta <> "" then fso.DeleteFolder pasta & "\" & strUltimaPasta

     

    Para colocar esse script em alguma rotina (schedular) retire as linhas wscript.echo elas são apenas para mostrar a pasta que será deletada para que você possa realizar um teste no seu ambiente antes de colocar em produção.

    Esse script não é bat é vbscript. Você deve salvar com a extenção .vbs.

    ______________________________________

    Elmo Baraúna (MCP - MCDST - MCSA - MCT)

    • Sugerido como Resposta Elmo Baraúna quinta-feira, 6 de janeiro de 2011 00:14
    • Marcado como Resposta Fábio JrModerator quinta-feira, 12 de janeiro de 2012 12:30
    quarta-feira, 5 de janeiro de 2011 16:45
  • Elmo, muito obrigado pelo Script funciona mesmo.


    Só uma dúvida.  Eu gostaria de fazê-lo excluir ao invés da última, a primeira pasta a ser criada, ou seja a mais antiga.

    Qual modificação eu poderia fazer no script?


    Muito Obrigado.
    quinta-feira, 6 de janeiro de 2011 13:34