Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    [c#/basic: applicazione console] backup cartelle

    Debbo fare il backup completa di una cartella. Ho fatto del codice che sembra funzionare. Dato che sono molto arruginito in questo campo, chiedo se qualcuno possa controllarlo e darmi dei suggerimenti.
    codice:
    Module Module1
    
        Sub Main()
            CancellaCopia("c:\tmp\d1", "d:\prova")
    
            Console.WriteLine("")
            Console.Write("Premi un tasto per uscire...") : Console.ReadKey()
        End Sub
    
        Private Sub CancellaCopia(ByVal pathIn As String, ByVal pathOut As String)
            pathOut = Path.Combine(pathOut, Path.GetFileName(pathIn))
            Cancella(pathOut)
            Copia(pathIn, pathOut)
        End Sub
    
        Private Sub Cancella(ByVal path As String)
            If Not Directory.Exists(path) Then Return
    
            For Each fname As String In Directory.GetFiles(path)
                If CBool(File.GetAttributes(fname) And FileAttributes.ReadOnly) Then
                    File.SetAttributes(fname, FileAttributes.Archive)
                End If
                File.Delete(fname)
                Console.WriteLine("cancellato: " & fname)
            Next
            For Each subdir As String In Directory.GetDirectories(path)
                Cancella(subdir)
            Next
            Directory.Delete(path)
        End Sub
    
    
        Private Sub Copia(ByVal pathIn As String, ByVal pathOut As String)
            Directory.CreateDirectory(pathOut)
    
            For Each fname As String In Directory.GetFiles(pathIn)
                Dim fcname As String = Path.Combine(pathOut, Path.GetFileName(fname))
                File.Copy(fname, fcname)
                Console.WriteLine(fcname)
            Next
            For Each subdir As String In Directory.GetDirectories(pathIn)
                Dim dcname As String = Path.Combine(pathOut, Path.GetFileName(subdir))
                Copia(subdir, dcname)
            Next
    
        End Sub
    
    End Module
    Pietro

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Riscontri qualche problema con il codice che hai scritto?

    Forse dovresti anche commentare le istruzioni, altrimenti chi legge deve analizzare riga per riga e interpretare il codice per esaminarlo a fondo.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da alka
    Riscontri qualche problema con il codice che hai scritto?

    Forse dovresti anche commentare le istruzioni, altrimenti chi legge deve analizzare riga per riga e interpretare il codice per esaminarlo a fondo.
    Grazie, ho risolto
    Ho collaudato e si è bloccato. Era una directory con attributo 17. (Directory + Solo lettura).

    Perciò ho corretto togliendo l'attributo di sola lettura sia ai file sia alle directory.

    Ed ho messo il gestore errori nel main...

    ciao
    Pietro

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.