Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
comandi DOS per copiare
Nuovo argomento   Rispondi    Indice del forum -> Windows 11, 10
Precedente :: Successivo  
Autore Messaggio
valyfilm
Dio minore
Dio minore


Registrato: 08/10/10 01:07
Messaggi: 924
Residenza: Forlì-Cesena

MessaggioInviato: 28 Apr 2025 22:36    Oggetto: comandi DOS per copiare Rispondi citando

Ciao, ho un PC con Windows 10. Qualcuno conosce i comandi DOS (credo si dica così) giusti per copiare da un supporto ad un altro?
Partiamo da una cosa semplice. Voglio copiare ciò che ho nel disco I nel disco G. Vado in DOS, o in altre parole nel prompt dei comandi, intendo la pagina nera, e scrivo robocopy "I:\" "G:\nome cartella" Va bene?
Devo creare una cartella in G perché funzioni, giusto?
Ebbene, appare un messaggio che dice che non riesce a trovare la destinazione su cui copiare. Perché?
Sono stato ore a farmi aiutare da Chat GPT senza risolvere, fino allo sfinimento. Ovviamente stando sempre attento a non sbagliare a scrivere.
Top
Profilo Invia messaggio privato
Homer S.
Dio Kwisatz Haderach


Registrato: 24/12/21 10:59
Messaggi: 6362
Residenza: Ormai ci sono solo io qui in pianta stabile, che lo chiedete a fare?

MessaggioInviato: 29 Apr 2025 07:53    Oggetto: Rispondi citando

Hai consultato la pagina ufficiale del supporto MS?
Top
Profilo Invia messaggio privato
valyfilm
Dio minore
Dio minore


Registrato: 08/10/10 01:07
Messaggi: 924
Residenza: Forlì-Cesena

MessaggioInviato: 29 Apr 2025 13:46    Oggetto: Rispondi citando

E' troppo complicato per me. Comunque ho notato che le istruzioni non parlano di virgolette. Ma se il nome di un file ha spazi?
Top
Profilo Invia messaggio privato
Homer S.
Dio Kwisatz Haderach


Registrato: 24/12/21 10:59
Messaggi: 6362
Residenza: Ormai ci sono solo io qui in pianta stabile, che lo chiedete a fare?

MessaggioInviato: 29 Apr 2025 14:01    Oggetto: Rispondi citando

Se ci sono spazi, le virgolette sono d'obbligo. Piuttosto, ho notato che:

valyfilm ha scritto:
e scrivo robocopy "I:\" "G:\nome cartella"

Non sarà che dovresti togliere quel backslash? Ho cercato in Rete degli esempi e non ne ho visti che lo ponevano.
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 12:16
Messaggi: 11802
Residenza: Tokelau

MessaggioInviato: 29 Apr 2025 15:00    Oggetto: Rispondi citando

la sintassi di base è:

Codice:
robocopy <source> <destination> [<file>[ ...]] [<options>]


quindi se vuoi copiare tutti file dal disco I al disco G dentro la cartella 'backup' devi fare

Codice:
robocopy I:\ G:\backup /s


( /s alla fine indica di copiare tutte le sottocartelle, ricorsivamente )
Top
Profilo Invia messaggio privato HomePage
valyfilm
Dio minore
Dio minore


Registrato: 08/10/10 01:07
Messaggi: 924
Residenza: Forlì-Cesena

MessaggioInviato: 29 Apr 2025 18:26    Oggetto: Rispondi citando

Ma se hai detto di non mettere quel backlash...
Top
Profilo Invia messaggio privato
valyfilm
Dio minore
Dio minore


Registrato: 08/10/10 01:07
Messaggi: 924
Residenza: Forlì-Cesena

MessaggioInviato: 29 Apr 2025 18:41    Oggetto: Rispondi citando

Io voglio copiare tutto tranne quello che c'è già e tranne la cartella documenti. Senza le virgolette avevo già provato, poi Chat GPT mi ha detto di mettere le virgolette. Ho fatti tanti tentativi. Sto provando a eseguirlo anche come amminsitratore.
Io avevo imparato quanto segue.

Per copiare su un altro supporto solo i file nuovi e quelli modificati, senza sovrascrivere quelli già copiati, andare in DOS, in altre parole nel prompt dei comandi (la finestra nera) e scrivere:
robocopy "C:\origine" "D:\destinazione" /E /MIR /XO
\origine e \destinazione stanno per il percorso che devo indicare. Se invece devo copiare tutto C in D basta che scrivo “C:\” “D:\nome cartella”
Se il nome di un file ha gli spazi scriverlo fra virgolette o mettere \ prima di ogni spazio. Ovvio che è più veloce metterlo semplicemente tra virgolette.
/E: copia tutte le sottocartelle
/MIR rispecchia la cartella di origine, eliminando i file nella destinazione che non ci sono più nella cartella di origine
/XO esclude dalla copiatura i file già copiati nella cartella/supporto di destinazione, copiando solo quelli nuovi (cioè non già copiati) e quelli modificati

Per evitare che Robocopy faccia l’errore 5 (vuol dire che non riesce ad accede a un file) eseguirlo come amministratore.
Per bloccare Robocopy digitare Ctrl + C.
Top
Profilo Invia messaggio privato
Homer S.
Dio Kwisatz Haderach


Registrato: 24/12/21 10:59
Messaggi: 6362
Residenza: Ormai ci sono solo io qui in pianta stabile, che lo chiedete a fare?

MessaggioInviato: 30 Apr 2025 07:44    Oggetto: Rispondi citando

valyfilm ha scritto:
Ma se hai detto di non mettere quel backlash...

L'ho supposto io sulla scorta della documentazione che ho citato, ma non uso robocopy quindi non so quale sia la sintassi specifica del tuo caso.
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 12:16
Messaggi: 11802
Residenza: Tokelau

MessaggioInviato: 30 Apr 2025 14:24    Oggetto: Rispondi citando

valyfilm ha scritto:
Io voglio copiare tutto tranne quello che c'è già e tranne la cartella documenti


/XO serve per escludere i file già copiati in precedenza (eXclude Older)
/XD serve per escludere le cartelle elencate (eXclude Directory)

quindi dipende da dove si trova la tua cartella documenti - mettiamo che sia C:\Documenti allora devi fare

Codice:
robocopy C:\ G:\backup /S /XO /XD C:\Documenti


però verifica dove si trova la cartella prima

Ciao
Top
Profilo Invia messaggio privato HomePage
jack.mauro
Dio minore
Dio minore


Registrato: 07/02/15 17:44
Messaggi: 529

MessaggioInviato: 30 Apr 2025 21:55    Oggetto: Rispondi citando

SverX ha scritto:
/XO serve per escludere i file già copiati in precedenza (eXclude Older)


Robocopy di default sovrascrive i file già presenti nella cartella di destinazione solo quando hanno timestamp (data) diversi da quelli nella cartella di origine, senza bisogno di inserire /XO.

/XO non copierebbe c:\prova.txt del 15/01/2025 se g:\backup\prova.txt avesse data 20/01/2025, ma lo copierebbe se g:\backup\prova.txt avesse data 10/01/2025 (in questo caso l'origine sarebbe "newer").

Io personalmente uso questi parametri (R e W servono per le copie in rete):
Codice:
robocopy C:\ G:\backup /e /zb /np /R:10 /W:2 /XF *.tmp thumbs.db desktop.ini /XD "C:\Documenti" /nodcopy /tee /log:g:\log.txt
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 12:16
Messaggi: 11802
Residenza: Tokelau

MessaggioInviato: 01 Mag 2025 16:02    Oggetto: Rispondi citando

Citazione:
Robocopy di default sovrascrive i file già presenti nella cartella di destinazione solo quando hanno timestamp (data) diversi da quelli nella cartella di origine, senza bisogno di inserire /XO.


uhm, non trovo riscontro di questo comportamento nella documentazione di Microsoft Confused
Top
Profilo Invia messaggio privato HomePage
jack.mauro
Dio minore
Dio minore


Registrato: 07/02/15 17:44
Messaggi: 529

MessaggioInviato: 02 Mag 2025 10:41    Oggetto: Rispondi citando

SverX ha scritto:
uhm, non trovo riscontro di questo comportamento nella documentazione di Microsoft Confused


Non so quanto sia imprecisa la documentazione microsoft ma ho fatto la prova in questo momento.

Queste le condizioni iniziali:
Codice:

R:\Test>dir /S
 Volume in drive R is RAMDISK
 Volume Serial Number is 0B3A-E000

 Directory of R:\Test

02/05/2025  10:21    <DIR>          .
02/05/2025  10:21    <DIR>          ..
02/05/2025  10:21    <DIR>          Src
02/05/2025  10:21    <DIR>          Dst
               0 File(s)              0 bytes

 Directory of R:\Test\Src

02/05/2025  10:21    <DIR>          .
02/05/2025  10:21    <DIR>          ..
20/05/2025  09:00                 0 test1.txt
20/05/2025  09:00                 0 test2.txt
20/05/2025  09:00                 0 test3.txt
               3 File(s)              0 bytes

 Directory of R:\Test\Dst

02/05/2025  10:21    <DIR>          .
02/05/2025  10:21    <DIR>          ..
               0 File(s)              0 bytes

     Total Files Listed:
               3 File(s)              0 bytes
               8 Dir(s)   1.029.431.296 bytes free



A questo punto eseguo la prima copia:

Codice:

R:\Test>robocopy r:\test\src r:\test\dst /s /np /tee /log:r:\Test\Copia1.txt

 Log File : r:\Test\Copia1.txt

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows

-------------------------------------------------------------------------------

  Started : Fri May 02 10:25:54 2025

   Source = r:\test\src\
     Dest = r:\test\dst\

    Files : *.*

  Options : *.* /TEE /S /COPY:DAT /NP /R:1000000 /W:30

------------------------------------------------------------------------------

                           3    r:\test\src\
            New File                   0        test1.txt
            New File                   0        test2.txt
            New File                   0        test3.txt

------------------------------------------------------------------------------

               Total    Copied   Skipped  Mismatch    FAILED    Extras
    Dirs :         1         0         1         0         0         0
   Files :         3         3         0         0         0         0
   Bytes :         0         0         0         0         0         0
   Times :   0:00:00   0:00:00                       0:00:00   0:00:00

   Ended : Fri May 02 10:25:54 2025



Sono stati copiati tutti e tre i file.

Codice:

R:\Test>dir /s
 Volume in drive R is RAMDISK
 Volume Serial Number is 0B3A-E000

 Directory of R:\Test

02/05/2025  10:21    <DIR>          .
02/05/2025  10:21    <DIR>          ..
02/05/2025  10:21    <DIR>          Src
02/05/2025  10:21    <DIR>          Dst
02/05/2025  10:25             1.138 Copia1.txt
               1 File(s)          1.138 bytes

 Directory of R:\Test\Src

02/05/2025  10:21    <DIR>          .
02/05/2025  10:21    <DIR>          ..
20/05/2025  09:00                 0 test1.txt
20/05/2025  09:00                 0 test2.txt
20/05/2025  09:00                 0 test3.txt
               3 File(s)              0 bytes

 Directory of R:\Test\Dst

02/05/2025  10:21    <DIR>          .
02/05/2025  10:21    <DIR>          ..
20/05/2025  09:00                 0 test1.txt
20/05/2025  09:00                 0 test2.txt
20/05/2025  09:00                 0 test3.txt
               3 File(s)              0 bytes

     Total Files Listed:
               7 File(s)          1.138 bytes
               8 Dir(s)   1.029.427.200 bytes free



Ora altero le date dei file di ORIGINE in modo da avere un file "Older" ed uno "Newer"

Codice:

R:\Test>dir /s
 Volume in drive R is RAMDISK
 Volume Serial Number is 0B3A-E000

 Directory of R:\Test

02/05/2025  10:21    <DIR>          .
02/05/2025  10:21    <DIR>          ..
02/05/2025  10:21    <DIR>          Src
02/05/2025  10:21    <DIR>          Dst
02/05/2025  10:25             1.138 Copia1.txt
               1 File(s)          1.138 bytes

 Directory of R:\Test\Src

02/05/2025  10:21    <DIR>          .
02/05/2025  10:21    <DIR>          ..
20/05/2025  09:00                 0 test1.txt
10/05/2025  09:00                 0 test2.txt
30/05/2025  09:00                 0 test3.txt
               3 File(s)              0 bytes

 Directory of R:\Test\Dst

02/05/2025  10:21    <DIR>          .
02/05/2025  10:21    <DIR>          ..
20/05/2025  09:00                 0 test1.txt
20/05/2025  09:00                 0 test2.txt
20/05/2025  09:00                 0 test3.txt
               3 File(s)              0 bytes

     Total Files Listed:
               7 File(s)          1.138 bytes
               8 Dir(s)   1.029.410.816 bytes free


Ora eseguo la seconda copia, che mi aspetto copiare il file "Older", il "Newer" e saltare il file con timestamp uguale.

Codice:

R:\Test>robocopy r:\test\src r:\test\dst /s /np /tee /log:r:\Test\Copia2.txt

 Log File : r:\Test\Copia2.txt

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows

-------------------------------------------------------------------------------

  Started : Fri May 02 10:28:11 2025

   Source = r:\test\src\
     Dest = r:\test\dst\

    Files : *.*

  Options : *.* /TEE /S /COPY:DAT /NP /R:1000000 /W:30

------------------------------------------------------------------------------

                           3    r:\test\src\
            Older                      0        test2.txt
            Newer                      0        test3.txt

------------------------------------------------------------------------------

               Total    Copied   Skipped  Mismatch    FAILED    Extras
    Dirs :         1         0         1         0         0         0
   Files :         3         2         1         0         0         0
   Bytes :         0         0         0         0         0         0
   Times :   0:00:00   0:00:00                       0:00:00   0:00:00

   Ended : Fri May 02 10:28:11 2025


E infatti ha copiato solo 2 file, saltando test1 che era già presente e con la stessa data

Codice:

R:\Test>dir /s
 Volume in drive R is RAMDISK
 Volume Serial Number is 0B3A-E000

 Directory of R:\Test

02/05/2025  10:21    <DIR>          .
02/05/2025  10:21    <DIR>          ..
02/05/2025  10:21    <DIR>          Src
02/05/2025  10:21    <DIR>          Dst
02/05/2025  10:25             1.138 Copia1.txt
02/05/2025  10:28             1.101 Copia2.txt
               2 File(s)          2.239 bytes

 Directory of R:\Test\Src

02/05/2025  10:21    <DIR>          .
02/05/2025  10:21    <DIR>          ..
20/05/2025  09:00                 0 test1.txt
10/05/2025  09:00                 0 test2.txt
30/05/2025  09:00                 0 test3.txt
               3 File(s)              0 bytes

 Directory of R:\Test\Dst

02/05/2025  10:21    <DIR>          .
02/05/2025  10:21    <DIR>          ..
20/05/2025  09:00                 0 test1.txt
10/05/2025  09:00                 0 test2.txt
30/05/2025  09:00                 0 test3.txt
               3 File(s)              0 bytes

     Total Files Listed:
               8 File(s)          2.239 bytes
               8 Dir(s)   1.029.406.720 bytes free



Se avessi usato i parametri /XO o /XN, nella seconda copia non avrebbe copiato il file "Older" oppure il "Newer". Queste parole indicano lo stato del file di origine rispetto a quello di destinazione, non il fatto di "essere già esistente".

Spero di essere stato utile
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 12:16
Messaggi: 11802
Residenza: Tokelau

MessaggioInviato: 02 Mag 2025 10:59    Oggetto: Rispondi citando

grazie per il test, molto interessante!

e quindi in effetti avevo male interpretato la tua frase
Citazione:
Robocopy di default sovrascrive i file già presenti nella cartella di destinazione solo quando hanno timestamp (data) diversi da quelli nella cartella di origine, senza bisogno di inserire /XO.


perché senza /XO la copia sarà effettuata anche copiando i file con timestamp più vecchio di quelli già presenti nella destinazione, mentre per espressamente escludere questo si deve aggiungere l'opzione
Top
Profilo Invia messaggio privato HomePage
jack.mauro
Dio minore
Dio minore


Registrato: 07/02/15 17:44
Messaggi: 529

MessaggioInviato: 02 Mag 2025 11:34    Oggetto: Rispondi

Esatto, di default robocopy copia quando:
- il file non esiste
- la data è più vecchia
- la data è più nuova
- la dimensione è diversa
e salta il file quando i metadati non sono stati modificati.

In ogni caso non va a guardare il contenuto del file, quindi non va bene per copiare ad esempio un contenitore di truecrypt che -volutamente- non modifica i metadati.
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Windows 11, 10 Tutti i fusi orari sono GMT + 2 ore
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi