Escludere solo alcuni file con lo stesso nome quando si copia utilizzando robocopy


15

Ho una struttura di directory come questa:

folder1\
    help.txt
    folder2\
        help.txt
    folder3\
        help.txt
    ...

Voglio copiare il contenuto di folder1 usando robocopy . Per esempio:

robocopy folder1 destination /E

Voglio escludere il file help.text che si trova nella cartella1 ma includere i file help.txt in cartella2, cartella3 ecc. Potrebbero esserci anche file denominati help.txt altrove nella struttura delle directory, quindi non voglio essere difficile codificare i percorsi dei file da includere.

Posso usare il seguente comando per escludere tutti i file chiamati help.txt ma c'è un modo per escludere il file help.txt nella radice di folder1?

robocopy folder1 destination /E /XF help.txt

Risposte:


15

È necessario includere il percorso completo (inclusa l'unità) nel file da escludere. I percorsi relativi non funzioneranno.

Questo funziona:

robocopy folder1 destination /E /XF "c:\somedir\another dir\folder1\help.txt"

Questo non:

robocopy folder1 destination /E /XF "folder1\help.txt"

Né questo:

robocopy folder1 destination /E /XF ".\folder1\help.txt"

Puoi escludere più file in questo modorobocopy folder1 destination /E /XF "c:\file1" "c:\file2"
schnatterer,

@ Dennis-Williamson, grazie per questa risposta corretta. Un peccato che non funziona con i caratteri jolly: robocopy folder1 destination /E /XF "c:\somedir\another dir\folder1\help.txt*"porta a un errore.
Olivier Faucheux il

Quindi dopo 2 ore di prova con altri comandi, ha funzionato. Grazie mille!
Christopher Chipps,

0

Non vedo che ci sia modo di farlo per nome file. È possibile impostare un attributo sul file che non si desidera copiare che "si sa" non si trova su nessun altro file nella struttura di origine e quindi utilizzare / xa per escludere i file con quell'attributo.

In caso contrario, dovrai utilizzare un altro strumento.

Questo funzionerà:

echo folder1\help.txt > \temp\excl.txt
xcopy /E folder1 destination /EXCLUDE:\temp\excl.txt

In realtà, se avessi una struttura di directory simile a questa:

folder1\
  help.txt
  folder1\
    help.txt

probabilmente escluderebbe entrambi questi file.


Vedo che mi sbaglio.
wfaulk,

0

Puoi usare% CD% per darti la directory corrente. Questo dovrebbe aiutarti a escludere directory specifiche. Altro aiuto è qui:

/programming//a/5274061

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.