Come posso copiare i file e sovrascriverli solo se la dimensione del file differisce?


12

Quello che sto cercando è qualcosa che funzioni perfettamente all'interno della GUI di Windows, non un'utilità da riga di comando come robocopy. Faccio un sacco di piccole copie / paste di vari file e vorrei che Windows sovrascrivesse sempre se la dimensione del file differisce e se la dimensione del file è identica, non fa nulla. Si può fare?


Se fossi in te, utilizzerei un timestamp anziché la dimensione del file (a meno che tu non abbia un motivo esplicito per usare quest'ultimo).
Breakthrough

@Breakthrough ha senso, se uno strumento mi permette di fare o sarò felice.
CreeDorofl,

@CreeDorofl Modificherei la tua domanda per usare i timestamp - questo è molto probabilmente il motivo per cui hai ottenuto il downgrade. Non fare affidamento sulle dimensioni dei file o sul contenuto dei file per essere coerenti, mai .
Breakthrough

1
hai provato oltrecompare? Può essere utilizzato per confrontare file e cartelle in base a qualsiasi criterio.
James Woolfenden,

@James Woolfenden non l'ho fatto, ma sembra un po 'diverso da quello che spero. In un mondo perfetto, non c'è nessun programma di terze parti che devo eseguire ... Trascino e rilascia un sacco di file in una cartella e Windows sovrascrive se le dimensioni / il timestamp sono diversi senza tormentarmi ... O, peggio, un dialogo che presenta le consuete opzioni di sovrascrittura, più un'altra: "sovrascrivi solo se il timestamp / la dimensione del file differisce".
CreeDorofl,

Risposte:


5

Se lo desideri, puoi utilizzare TeraCopy , quindi configura le impostazioni. In alternativa, ti chiede anche cosa fare in caso di conflitto di nomi di file durante un'operazione di copia di file (in modo da poterlo affrontare caso per caso). Inoltre, se viene rilevato un conflitto, è possibile scegliere cosa fare su base file per file o per l'intera coda di trasferimento.

TeraCopy si integra anche con la shell di Windows per sostituire l'operazione di copia e incolla predefinita con la propria interfaccia.

NOTA: a partire da settembre 2014, TeraCopy funziona solo su Windows o con dispositivi Android (smartphone e tablet) con modalità di archiviazione di massa (Gingerbread Android e versioni precedenti di Ice Cream Sandwich). I dispositivi più recenti che utilizzano Android v4.2 Jelly Bean o versione successiva hanno la modalità MTP solo per i trasferimenti di file e TeraCopy non può "vedere" i dispositivi che utilizzano la modalità MTP per i trasferimenti di file.


Ricordo di aver provato Teracopy in precedenza, per qualche motivo l'ho risolto ma sono disposto a riprovare se mi consente di farlo. Grazie per il suggerimento
CreeDorofl,

@CreeDorofl lo fa e puoi anche usare un file batch con esso per fare quello che vuoi. Puoi anche fare quello che vuoi caso per caso (ti chiederà cosa fare per l'intero batch o solo quel file quando provi a sostituire i file). IMHO, TeraCopy è il miglior strumento di sostituzione della gestione dei file di Explorer.
Breakthrough

Esiste un altro strumento valido oltre a TeraCopy?
avirk

1
Ho installato TeraCopy ma non esiste alcuna opzione per filtrare per dimensione file ?! Ce n'è solo uno per il tempo del file e questo non è utile se hai molte immagini di diverse camme che usano gli stessi nomi di file. La versione Pro è necessaria per questo filtro?
mgutt,

2
Mi sembra che TeraCopy abbia solo "se più vecchio" e non "se la dimensione del file è diversa" - giusto? In alcuni casi è preferibile quest'ultima: forse per completare la copia precedentemente incompiuta, o quando si conosce che l'origine è l'ultima versione anche se la destinazione è stata (forse erroneamente) modificata più di recente.
Greg Zaal,

3

rsync può essere utilizzato anche su Windows ed è uno strumento un po 'più flessibile: ha opzioni da riga di comando per confrontare solo i timestamp, ma fornisce anche la velocità della spme in operazioni vincolate sulla larghezza di banda, come la copia su una rete o su un'unità lenta (velocità di scrittura) , poiché è in grado di limitarsi al trasferimento delle parti modificate.


3

KDiff3

KDiff3 è un programma che:

  • confronta o unisce due o tre file o directory di input di testo,
  • mostra le differenze riga per riga e carattere per carattere (!),
  • fornisce una funzione di unione automatica e
  • un editor integrato per la risoluzione dei conflitti di unione,
  • supporta Unicode, UTF-8 e altri codec, rilevamento automatico tramite contrassegno ordine byte "BOM"
  • supporta KIO su KDE (consente di accedere a ftp, sftp, fish, smb ecc.),
  • Stampa delle differenze,
  • Allineamento manuale delle linee,
  • Unione automatica della cronologia del controllo versione ($ Log $),
  • e ha un'interfaccia utente grafica intuitiva.
  • Integrazione con Windows Explorer Diff-Ext-for-KDiff3 - estensione della shell inclusa nel programma di installazione (originariamente di Sergey Zorin: vedi anche Diff Ext)
  • Plugin del menu di servizio di KDE-Konqueror
  • Integrazione semplificata con IBM-Rational-Clearcase per Windows

inserisci qui la descrizione dell'immagine


3
In che modo l'integrazione con Windows Explorer è piuttosto semplice? Vorrei solo trascinare e rilasciare le finestre per non far apparire alcun dialogo.
CreeDorofl,

Si prega di espandere questa risposta. Link solo le risposte possono essere eliminate.
soandos,

2

So che è stato un bel po 'di anni fa, ma ho appena trovato uno strumento freeware che può fare esattamente l'attività richiesta. Uno strumento da riga di comando, XXCOPY di Pixelab http://www.xxcopy.com/

Nel mio scenario, ho ricompresso in batch centinaia di immagini JPEG usando l'opzione qscale di FFmpeg e stavo cercando un modo per sovrascrivere solo file più piccoli. Quindi l'ho provato e ha funzionato con me. Ho verificato creando una cartella di backup, quindi ho confrontato le dimensioni della cartella in seguito. Stesso numero di file per entrambe le cartelle ma l'altro è più piccolo ora.

La domanda originale e la risposta sono qui:

sovrascrivi solo i file che sono più piccoli https://groups.google.com/forum/#!topic/alt.msdos.batch.nt/Agooyf23kFw

Sorprendentemente includeva anche una soluzione al problema di Asker. Ecco una parte della risposta dell'autore del XXCOPY:

Potresti darmi un suggerimento?

Il mio problema: ho ottenuto alcuni file in una directory e alcuni in una sottodirectory e voglio copiarli nella sottodirectory. Il vero problema è che sovrascrivere solo i file che sono più piccoli.

Puoi provare XXCOPY (un software gratuito per uso personale). Il comando che desideri è probabilmente:

xxcopy \your_source\  \destination\   /s /bzs /y

Esistono altre variazioni nelle operazioni di backup

  /BI  // backup incremental (skip files of same size and time)
  /BN  // backup newer files only
  /BO  // backup older files only
  /BX  // backup files with a different timestamp
  /BZS // backup smaller files only
  /BZL // backup larger files only
  /BZX // backup files with different size
  /BZE // backup files with the same size
  /BS  // backup files with same size and timestamp

Ha anche una versatile funzione di esclusione. È possibile applicare lo stesso meccanismo di selezione dei file nelle operazioni di eliminazione. Un altro vantaggio rispetto a Xcopy è che XXCopy si comporta allo stesso modo in qualsiasi versione di Windows (95,98, ME, NT / 2K / XP).

Quindi suppongo che Asker avrebbe invece bisogno di / BZX .


grazie per il suggerimento ... Ho finito per usare teracopy, è stato molto utile ... ma sempre bello avere altre opzioni.
CreeDorofl,

0

Sono arrivato a questa domanda cercando un modo per copiare solo i file più recenti (al contrario del requisito di dimensione del file che OP ha). Pubblicare questa soluzione qui poiché ha funzionato per me.

Per questo sto usando Beyond Compare. Quando si confrontano due cartelle, fare clic con il tasto destro su entrambi i lati e selezionare Synchronize> Update Righto Update Left. Ciò si occuperebbe di copiare solo i file più recenti.

Beyond Compare è un software a pagamento, ma è disponibile gratuitamente per la prova per 30 giorni.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.