Precedente :: Successivo |
Autore |
Messaggio |
valyfilm Dio minore

Registrato: 08/10/10 01:07 Messaggi: 924 Residenza: Forlì-Cesena
|
Inviato: 28 Apr 2025 22:36 Oggetto: comandi DOS per copiare |
|
|
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 |
|
 |
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?
|
|
Top |
|
 |
valyfilm Dio minore

Registrato: 08/10/10 01:07 Messaggi: 924 Residenza: Forlì-Cesena
|
Inviato: 29 Apr 2025 13:46 Oggetto: |
|
|
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 |
|
 |
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?
|
Inviato: 29 Apr 2025 14:01 Oggetto: |
|
|
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 |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11802 Residenza: Tokelau
|
Inviato: 29 Apr 2025 15:00 Oggetto: |
|
|
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 |
|
 |
valyfilm Dio minore

Registrato: 08/10/10 01:07 Messaggi: 924 Residenza: Forlì-Cesena
|
Inviato: 29 Apr 2025 18:26 Oggetto: |
|
|
Ma se hai detto di non mettere quel backlash... |
|
Top |
|
 |
valyfilm Dio minore

Registrato: 08/10/10 01:07 Messaggi: 924 Residenza: Forlì-Cesena
|
Inviato: 29 Apr 2025 18:41 Oggetto: |
|
|
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 |
|
 |
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?
|
Inviato: 30 Apr 2025 07:44 Oggetto: |
|
|
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 |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11802 Residenza: Tokelau
|
Inviato: 30 Apr 2025 14:24 Oggetto: |
|
|
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
 |
|
Top |
|
 |
jack.mauro Dio minore


Registrato: 07/02/15 17:44 Messaggi: 529
|
Inviato: 30 Apr 2025 21:55 Oggetto: |
|
|
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 |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11802 Residenza: Tokelau
|
Inviato: 01 Mag 2025 16:02 Oggetto: |
|
|
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  |
|
Top |
|
 |
jack.mauro Dio minore


Registrato: 07/02/15 17:44 Messaggi: 529
|
Inviato: 02 Mag 2025 10:41 Oggetto: |
|
|
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 |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11802 Residenza: Tokelau
|
Inviato: 02 Mag 2025 10:59 Oggetto: |
|
|
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 |
|
 |
jack.mauro Dio minore


Registrato: 07/02/15 17:44 Messaggi: 529
|
Inviato: 02 Mag 2025 11:34 Oggetto: |
|
|
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 |
|
 |
|