Backup files ad ogni sua modifica

giovedì 16 ottobre 2008 - 11.22

riminese77 Profilo | Junior Member

Ciao a tutti,
volevo prima un consiglio, poi cerco di assemblare un po' di codice e poi riguardiamo un po' il tutto :) .
Vorrei creare un backup che appena una persona apre ad esempio un file di word e lo modifica, ne fa una copia... è obbligatorio usare un servizio oppure basta creare un form che tramite timer controlla tutti i file di ogni cartella specificata? Spero ci sia un controllo di "watcher" che controlla lui stesso le modifiche alle cartelle specificate.
Intanto grazie.

aiedail92 Profilo | Expert

Ciao

Per monitorare la modifica dei file puoi usare il componente FileSystemWatcher. L'utilizzo è abbastanza semplice: scegli il percorso della cartella da monitorare mediante la proprietà Path, decidi se monitorare anche nelle sottocartelle con IncludeSubdirectories e scegli il filtro delle modifiche per cui essere avvisato (ad esempio Size e LastWrite) con la proprietà NotifyFilter. Quindi ti pasta gestire l'evento Changed per sapere quando il file viene modificato. Per avviare il componente imposti la proprietà EnableRaisingEvents su True.

Questa è la base, quando hai messo a punto un po' di codice chiedi qui se hai bisogno di altri aiuti

Luca

riminese77 Profilo | Junior Member

Ok è un buon componente... ma avrei già una domanda, io ora voglio monitorare un file Doc,quando lo creo lo cancello non c'è problema, ma quando lo modifico non si accorge di nulla e dire che nel filtrer ho abilitato tutto

ControllaDir.NotifyFilter = IO.NotifyFilters.CreationTime Or IO.NotifyFilters.FileName Or IO.NotifyFilters.LastWrite

Devo fare un imports system.io ? ... ma avendole già specificate....

Poi come posso evitare quel fastidiosissimo ritorno di avvertimenti quando modifico un file word e crea dieci file temporanei ~$DocumentoWord.doc quelli me li conta ugualmente come creati e cancellati, cosa che in realtà non mi serve.

Thanks

aiedail92 Profilo | Expert

Ciao

È possibile che Word usi un metodo "non convenzinale" di scrivere i file sul disco, oppure che il FileSystemWatcher abbia dei problemi a rilevare le modifiche con alcune applicazioni (è successo anche a me con un altro tipo di file)

A questo punto puoi scegliere se eseguire la copia quando viene modificato il file temporaneo (generalmente quindi quando viene eseguito il salvataggio), appure intraprendere un lungo e periglioso viaggio verso lo sviluppo di un driver (ma il VB.Net non è certo un linguaggio utilizzabile) che faccia da filtro per le richieste di accesso ai file (come quelli usati dagli antivirus)

Luca
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5