Copie de dossiers à travers le réseau – xcopy batch

J’ai eu l’occasion d’avoir une tâche répétitive à effectuer, la copie du même dossier sur plusieurs poste de mon réseau.
Je vais décrire dans ce billet comment copier au travers d’un réseau des fichiers sur plusieurs postes?
L’ensemble des manipulations sont effectué sous Windows Seven.

Préparation de Windows Seven :

Éditeur de texte (Notepad, Netbeans, Notepad++….)

Etape numéro 1 : Configuration du PC

Sur votre pc serveur veillez à bien désactiver votre par-feu (celui de windows compris) pour cela rendez vous dans votre panneau de configuration, onglet Sécurité(Parfeu Windows) et désactivé comme dans l’exemple ci-dessous.

Rendez vous ensuite toujours dans votre panneau de configuration dans l’onglet / Centre Réseau et partage => Modifier les paramètres de partage avancés.

Veillez à ce que l’option Partage Protégé par mot de passe soit désactivé.

Création des dossiers de partage :

Rendez vous sur votre dossier à partager faite un clique droit => Propriété => Onglet Partage Puis Partager.
Vous devez arriver sur cette fenêtre (screen ci-dessous) selectionnez la petite flêche à droite séléctionnez Tout le monde puis Ajoutez.

Veillez à ce que les autorisations de lecture et d’écriture soient donné.

Validez par partagez.

Recommencer cette opération sur le dossier de chaque poste ou vous désirez transférer vos fichiers.

Etape Numéro 2 : Le BATCH de Copie

Ouvrez à présent votre éditeur de texte, copiez coller le code ci-dessous.
Je vais faire un descriptif du code ci dessous, il est évident qu’il peut être amélioré mais je n’en avais pas l’utilité.

C’est un fichier bat, il va vous demander de spécifier le nom du dossier que vous désirez copier.
Le bat utilise également un fichier texte annexe que vous devez créer.

Faite donc un nouveau fichier texte via votre éditeur de texte inscrivez y les IPs des machines ou vous désirez éffectuer la copie et enregistrez le dans votre dossier à côté de votre ficher bat comme ci-dessous.

//Va afficher uniquement les sorties de commandes à l'écran
@echo off
//Vous demande le nom du dossier que vous voulez partager
echo Specifiez le nom du dossier a copier (Attention aux Majuscules et Minuscules )
//définis la variable "dossier"
set /p dossier="Nom de dossier :"
//une boucle qui affiche ligne après ligne les IP des PC qui vont recevoir les fichiers
for /f "usebackq delims=" %%i in ("liste.txt") do (
//lance la copie sur la machine distante
xcopy "d:\jeux\%dossier%" "\\%%i\jeux" /e/y
//je retrouve ma variable "dossier" défini à l'ouverture
)
pause

Si tout se passe bien, vous devriez avoir la copie qui se lance à l’exécution de votre .bat

On peut effectuer ce teste sur des machines virtuels cela permet de tester

Si vous pensez que ce billet n’est pas clair ou manque de précisions, n’hésitez pas à m’en faire part je compléterai l’article.

Laisser un commentaire