2012-07-03 7 views
24

Sto utilizzando l'API VSS per creare alcune copie shadow di un volume e quindi accedervi utilizzando i relativi percorsi UNC.
È possibile ottenere un elenco di alcune delle cose che sono cambiate tra due ombre consecutive?VSS di Windows: differenza tra due copie shadow?

Il modo ovvio di fare questo è di esaminare tutti i file nel volume e controllare le modifiche, ma ci deve essere un modo più semplice per farlo poiché una delle funzionalità chiave di VSS è che salva delta di informazioni e salva solo ciò che è cambiato.

+1

Dovresti riuscire a farlo con il diario delle modifiche. L'unico passaggio di cui non sono certo è se le copie shadow si comportano come volumi reali, ad esempio se è possibile aprire un handle del volume nella copia shadow e emettere i comandi FSCTL. Ad ogni modo, consulta http://stackoverflow.com/a/7459109/886887 per alcuni esempi di codice per iniziare. –

+0

Sei interessato solo nel caso in cui non siano presenti provider VSS di terze parti o la soluzione deve funzionare in tutti i casi? –

+0

@Harry Johnston aggiungendo un nuovo provider potrebbe essere un'opzione. Come lo faccio? non richiede un riavvio? – shoosh

risposta

1

Si potrebbe provare questo file di terze parti confronto strumento che supporti lo scripting: http://www.scootersoftware.com/

riferimento Scripting è qui: http://www.scootersoftware.com/help/index.html?scripting_reference.html

anche Active File Compare 2.0 Confronta i file side-by-side e mette in evidenza la sintassi per C#, SQL e altre fonti di codice. Essi affermano di sostenere l'opzione della riga di comando così si potrebbe possibile eseguire il contenuto attraverso di essa tramite una shell di comando: http://www.qweas.com/download/system/desktop_tools/active_file_compare.htm

+0

+1 basta fare questo va bene per le vostre esigenze. – Ben

+0

ma se utilizzi Git avrai meno difficoltà a gestire diff e fusioni. VSS è un modo davvero scadente per eseguire il monitoraggio delle revisioni. –

+0

A beneficio dei futuri lettori, per evitare confusione: credo che Max abbia interpretato VSS come significato di Visual SourceSafe (un sistema di controllo del codice sorgente, quindi il confronto con Git) mentre l'OP stava parlando del Volume Snapshot Service (utilizzato principalmente dal software di backup) . –

0

utilizzare un software di terze parti come WinMerge con l'ombra copiare percorsi UNC http://winmerge.org/

Ciò fornirà un GUI per i confronti

ad esempio, utilizzare "C: \", vs "\ localhost \ C $ \ @ GMT-2017.08.24-18.07.46"

Naturalmente, immettere un percorso UNC valido in concomitanza con la data e l'ora di una copia shadow.