Jump to content
RAFAEL DUTRA

Programa para limpa backup antigos

Recommended Posts

RAFAEL DUTRA

Ola pessoal

estou precisando de uma ajudinha, sou apenas um estudante, trabalho atualmente com suporte TI.

preciso criar um programa que identifique o tamanho de uma pasta (no caso estou utilizando a pasta backup do servidor)

caso esta passa ultrapasse o valor X o programa exclui o arquivo mais antigo da pasta

eu fiz o program achar o caminho e ler o tamanho da pasta, porem não consigo fazer ela excluir os arquivos por período e limitar a pasta

para que quando alcance 1gb ela exclua os antigos da pasta no caso são os diff do servidor alguém pode me ajudar segue o que consegui estudando

 

     

Imports System.IO

<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class SisMega
    Inherits System.Windows.Forms.Form

    'Descartar substituições de formulário para limpar a lista de componentes.
    <System.Diagnostics.DebuggerNonUserCode()> _
    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
        Try
            If disposing AndAlso components IsNot Nothing Then
                components.Dispose()
            End If
        Finally
            MyBase.Dispose(disposing)
        End Try
    End Sub

    Private Sub btnProcurar_Click(sender As Object, e As EventArgs) Handles btnprocurar.Click
        Dim FolderBrowserDialog1 As New FolderBrowserDialog
        With FolderBrowserDialog1
            .RootFolder = Environment.SpecialFolder.Desktop
            .SelectedPath = "c:\"
            .Description = "Selecione uma pasta"
            If .ShowDialog = DialogResult.OK Then
                txtLocal.Text = .SelectedPath
            End If
        End With

    End Sub

    Private Function TamanhoArquivosDiretorios(ByVal dInfo As DirectoryInfo, ByVal incluirSubDir As Boolean) As Long
        Dim tamanhoTotal As Long = dInfo.EnumerateFiles().Sum(Function(file) file.Length)

        If incluirSubDir Then
            tamanhoTotal += dInfo.EnumerateDirectories().Sum(Function(dir) TamanhoArquivosDiretorios(dir, True))
        End If
        Return tamanhoTotal
    End Function


    Private Sub btncoletar_Click(sender As Object, e As EventArgs) Handles btncoletar.Click

        Dim dInfo As New DirectoryInfo(txtLocal.Text)

        Dim tamanhoDaPasta As Long = TamanhoArquivosDiretorios(dInfo, True)

        Dim arquivosDaPasta As String() = Directory.GetFiles(txtLocal.Text)

        Dim media = arquivosDaPasta.Select(Function(arquivo) New FileInfo(arquivo).Length).Average()
        media = Math.Round(media / 1000000, 1)

        txtResultado.Text = ""
        txtResultado.Text += String.Format("Tamanho do Backup em bytes : {0:N0} bytes", tamanhoDaPasta) & vbCrLf
        txtResultado.Text += String.Format("Tamanho do Backup em KB    : {0:N0} KB", CDbl(tamanhoDaPasta) / 1024) & vbCrLf
        txtResultado.Text += String.Format("Tamanho do Backup em MB    : {0:N0} MB", CDbl(tamanhoDaPasta) / (1024 * 1024)) & vbCrLf
        txtResultado.Text += vbCrLf

    End Sub

    Private Sub SisMega_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click

    End Sub

    Private Sub btnLimpar_Click(sender As Object, e As EventArgs) Handles btnlimpar.Click

    End Sub

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.