XCOPY /EXCLUDE

Résolu
Bonjour,

J'utilise ce batch pour copier tous les fichiers *.tif des répertoires voisins dans TIF_RESTO. Le problème, c'est que je n'arrive pas exclure répertoire cible de la copie.
if not exist TIF_RESTO mkdir TIF_RESTO
FOR /R %%f IN (*.tif) DO XCOPY /s/Y "%%f" TIF_RESTO

Après avoir lu quelques posts j'ai fais un essai avec EXCLUDE mais sans résultat.
Même en avec un chemin absolu, ce qui semble indispensable.

echo \TIF_RESTO\ > c:temp\exclusion.txt
FOR /R %%f IN (*.tif) DO xcopy /s/Y "%%f" TIF_RESTO /EXCLUDE:c:temp\exclusion.txt
del c:temp\exclusion.txt


Autres essais sans plus de succès :
FOR /R %%f IN (*.tif) IF %%f NEQ TIF_RESTO DO XCOPY "%%f" TIF_RESTO
FOR /R %%f IN (*.tif) IF NOT %%f==TIF_RESTO DO XCOPY "%%f" TIF_RESTO

Je ne suis même pas sûre que ces syntaxes soit bonnes...

Lo.

3 réponses

  1. Bonjour,

    Je marque ce post comme résolu.

    Ceci dit, si quelqu'un à la solution avec XCOPY,
    c'est toujours intéressent de la connaitre aussi...

    Merci.

    Lo.
    1. Contributeur
      FOR /R %%f IN (*.tif) DO XCOPY /s/Y "%%f" TIF_RESTO

      for /r liste tout les fichiers, donc xcopy /s n'a pas de sens puisque /s parcourt l'arborescense, mais xcopy tout seul refuse les mélanges source-destination, même avec exclude
      C:> xcopy *.tif TIF_RESTO /s/exclude:excl
      Impossible de réaliser une copie cyclique
      0 fichier(s) copié(s)
      C:> type excl
      TIF_RESTO\

      ou pour utiliser le exclude de xcopy
      C:> for /R %a in (*.tif) do @xcopy  "%a" TIF_RESTO /Y/exclude:excl
      C:> type excl
      TIF_RESTO\

      mais il affiche x fois 0 fichier(s) copié(s)
    2. @dubcekMerci beaucoup pour ces précisions.
      Cette fois-ci, je crois que le sujet est clos.

      Bonne soirée.

      Lo.