Copier un fichier sur plusieur poste en batch

Fermé
mizuma - 11 janv. 2012 à 15:30
 flagada - 13 janv. 2012 à 12:18
Bonjour

Je souhaiterais copier sur 20 machine un fichier sur le disque local C . pourriez vous me dire comment m y prendre sachant que le poste source c'est le mien et que les machines sont sur le réseau avec des adresses ip et des noms bien distincts .
A voir également:

5 réponses

dans ce cas mettre dans le fichier txt:
192.168.1.2 pass1 user1
192.168.1.3 pass2 user2

et dans le bat:
@echo off
for /f "tokens=1,2,3 delims= " %%i in (ip.txt) do (
net use r: \\%%i\c$ %%j /USER:%%k
xcopy "c:\exemple.avi" "r:\" /Y
net use r: /DELETE
)
PAUSE
5
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
11 janv. 2012 à 15:54
bonjour,
quel sont les serveurs disponibles et/ou les OS des machines ?
L'idéal est un petit script qui boucle sur les IP avec un transfert par ssh ou ftp.
1
Les machines sont sous XP

Ma machine porne le nom PARW00130480 c est elle qui sert de serveur defichier mais en partage
0
salut,

en général, les postes xp en un répertoire partagé caché par défaut appelé c$
C'est d'ailleurs pas jojo niveau securité...

Si ces partages administratifs existent,tu peux faire ça:

Imaginons que le fichier a copier soit dans c: et s'appelle "fic.avi"

tu mets dans un fichier (.txt par exemple) toutes tes ip (ici le fichier s'appelera ip.txt):

192.168.1.2
192.168.1.3
192.168.1.4
etc

et ensuite dans ton fichier bat qui sera la dans le meme rep que le ip.txt tu mets:

@echo off
for /f %%i in (ip.txt) do xcopy c:\fic.avi "\\%%i\c$\ /Y
PAUSE

voila cela va copier fic.avi dans c: de chaque ip...
1
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
11 janv. 2012 à 20:58
C'est une idée.
NB : il faut que le serveur netbios soit activé sur les machines et qu'il n'y ai pas besoin de mot de passe pour copier sur les machines (ça c'est moins sur par défaut)
0
eh oui en effet il ne faut pas de mot de passe ce qui est une problème niveau sécurité...
la solution serait dans ce cas de créer les lecteurs reseaux au début dans le batch (on peut mettre le mot de passe dans la commande net use ...) puis de copier le fichier vers chaque lecteur réseau.
Comme ça les mots de passe sont seulement écrit sur le serveur.
Et à la fin déconnecter ces lecteurs reseaux...
C'est un poil mieux...
0
pareil dans un fichier ip.txt tu mets toutes tes ip (une par ligne)
Puis dans le .bat quelque chose comme ça:

@echo off
for /f %%i in (ip.txt) do (
net use r: \\%%i\c$ mot_de_passe /USER:nom_utilisateur
xcopy "c:\exemple.avi" "r:\" /Y
net use r: /DELETE
)
PAUSE

voila avec ça je pense que c'est jouable (juste un doute pour la syntaxe du 1er net use mais un "net use /?" donnera toutes les infos!!
1
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
13 janv. 2012 à 00:31
mais si tu as un nom et un mot de passe par PC distant ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
le probleme est que les machines sont sous un reseau securisé avec un mot de passe adminitrateur ayant un nom et un mot passe local bien defini
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
12 janv. 2012 à 09:22
Utilise alors la technique de flagada : connecte un lecteur réseau.
0