Voglio solo scrivere un'applicazione per tenere traccia della relazione tra i file nel disco.Come catturare i dettagli dell'evento di copia/spostamento del file, come il nome del file sorgente
Sappiamo che FileSystemWatcher può eseguire il richiamo durante la creazione, la ridenominazione o l'eliminazione del file.
Ma FileSystemWatcher non può dirci il percorso del file di origine.
Per esempio, diciamo che c'è un file F1
nel folder1
, e poi copiamo F1
in un'altra cartella denominata folder2
, il nuovo nome del file è ancora F1
. In questo caso il FileSystemWatcher
potrebbe dirci che è stato creato un nuovo file in folder2
. Ma non può dirci che il nuovo F1
viene copiato da F1
in folder1
, mentre questa informazione è ciò di cui abbiamo bisogno.
Qualche idea?
Interessante domanda. – David
Probabilmente avrete bisogno di monitorare entrambe le cartelle di origine e di destinazione, quindi provare ad abbinare i file che spariscono dalla sorgente con i file che appaiono nella destinazione, possibilmente confrontando i loro nomi/dimensioni o persino i checksum. –
Simile a quanto suggerito da @Branko. Se creo una struttura di dati Albero cartella di Cartella1 e Cartella2 all'istante T0, quindi eseguo un movimento di file e quindi creo nuovamente una struttura T1 Nuova Cartella. Ora confronto l'albero della cartella 1 {T0, T1} e Cartella 2 {T0, T2} e fascicolo la differenza. – dekdev