BATCH Crée une exception pour une copie

Résolu/Fermé
GodMode_ Messages postés 107 Date d'inscription mercredi 30 août 2017 Statut Membre Dernière intervention 12 octobre 2017 - 17 sept. 2017 à 20:08
barnabe0057 Messages postés 14439 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 14 avril 2024 - 21 sept. 2017 à 19:09
Salut à tous, j'avais déjà posé une question sur le batch que l'on avait gentiment résolu, mais comme un problème ne vient jamais seul voilà le nouveau :
J'aimerais pouvoir exclure un sous-dossier qui est contenu dans le dossier copié.
Par exemple : copier le dossier "one" mais ne pas copier le sous-dossier "second" qui est situé dans le "one". De plus, j'aimerais que le script s'adapte au fait que le dossier "one" ai un nom qui puisse varier (mais il contiendra toujours le sous dossier à exclure "second").
J'espère que je me suis bien exprimé mais n'hésitez pas à me poser des questions si je n'ai pas été clair et surtout merci à tous ceux qui tenteront de m'aider c'est vraiment cool de votre part :)
A voir également:

2 réponses

barnabe0057 Messages postés 14439 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 14 avril 2024 4 905
17 sept. 2017 à 20:17
Bonjour,

Exclure un sous-dossier est très facile avec la commande ROBOCOPY et le commutateur /XD

Concernant le nom du dossier "one" qui change, il faut donner plus d'explications.

Aussi, est-ce que le script est lancé manuellement ou automatiquement ?
0
GodMode_ Messages postés 107 Date d'inscription mercredi 30 août 2017 Statut Membre Dernière intervention 12 octobre 2017 43
18 sept. 2017 à 17:55
Salut, deja merci beaucoup de ta rapidité à me répondre et de ton aide.
Et en fait le dossier "one" peut avoir un autre nom que "one" mais il contiendra toujours le dossier que je souhaite exclure qui à lui pour nom fixe "second". Et pour répondre a ta question le script est lancé manuellement.
0
barnabe0057 Messages postés 14439 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 14 avril 2024 4 905
18 sept. 2017 à 19:33
Ok essaie comme ceci :

@echo off

set destination=%USERPROFILE%\Desktop\ROBOCOP
set exclusion=second

if "A%~1A"=="AA" (exit /B 1)
if exist "%~1" (robocopy "%~1" "%destination%" /E /XD "%~1\%exclusion%")

pause
exit /B 0

0
GodMode_ Messages postés 107 Date d'inscription mercredi 30 août 2017 Statut Membre Dernière intervention 12 octobre 2017 43
18 sept. 2017 à 21:04
Deja merci vraiment de m'aider mais juste une petite question (oui je suis chiant :p) quels sont les endroits que je doit remplacer pour que la commande marche ?
0
barnabe0057 Messages postés 14439 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 14 avril 2024 4 905 > GodMode_ Messages postés 107 Date d'inscription mercredi 30 août 2017 Statut Membre Dernière intervention 12 octobre 2017
18 sept. 2017 à 21:12
Il faut modifier ces 2 lignes à ta guise :
set destination=%USERPROFILE%\Desktop\ROBOCOP
set exclusion=second

Pour faire fonctionner le script il faut faire glisser le dossier à copier sur l'icône du script.
0
GodMode_ Messages postés 107 Date d'inscription mercredi 30 août 2017 Statut Membre Dernière intervention 12 octobre 2017 43 > barnabe0057 Messages postés 14439 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 14 avril 2024
18 sept. 2017 à 21:24
Ok merci mais j'ai encore des problèmes :/ en gros avant j'avais la commande :

xcopy "dossierAcopier" "DossierReceveur" /e /i /c /h /y

mais maintenant si je doit mettre manuellement le dossier dans le batch ça me gène un peu. De plus quand je met le nom du dossier à exclure il n'exclue rien et copie juste l’intégralité du dossier.
0
barnabe0057 Messages postés 14439 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 14 avril 2024 4 905 > GodMode_ Messages postés 107 Date d'inscription mercredi 30 août 2017 Statut Membre Dernière intervention 12 octobre 2017
19 sept. 2017 à 05:45
XCOPY ne permet pas d'exclure un dossier.

Tu n'as pas besoin de mettre manuellement le nom du dossier, tu fais juste un glisser-déposer sur l'icône du script.
0
GodMode_ Messages postés 107 Date d'inscription mercredi 30 août 2017 Statut Membre Dernière intervention 12 octobre 2017 43
19 sept. 2017 à 21:07
Salut, en fait pour xcopy j'ai vu qu'il y a une commande qui existe et qui s'appelle "exclude" mais je sais pas comment l'utiliser. Mais sinon moi ce qui me gène dans ton script c'est le fait que je doive faire glisser manuellement le dossier dans le batch, alors que xcopy me permet de copier les fichiers juste en cliquant sur le batch. Sinon merci à toi pour ta détermination à m'aider ça fait plaisir ;)
0