Batch pour copier des fichiers
Bonjour à tous!
Voila mon problème, je souhaiterais créer un batch pour qu'il copie des fichiers de mon poste vers celui de mes utilisateurs, seulement je ne sais pas quelle variable intégrer pour qui'il passe le nom du user après Doc and Set.
voilà à quoi il ressemble :
for /F %%i IN (liste.txt) DO copy fichier.zip\\%%i\c$\Documents and Settings\???\Application Data\Microsoft..etc..
qqun peut il m'aider?
d'avance merci
Voila mon problème, je souhaiterais créer un batch pour qu'il copie des fichiers de mon poste vers celui de mes utilisateurs, seulement je ne sais pas quelle variable intégrer pour qui'il passe le nom du user après Doc and Set.
voilà à quoi il ressemble :
for /F %%i IN (liste.txt) DO copy fichier.zip\\%%i\c$\Documents and Settings\???\Application Data\Microsoft..etc..
qqun peut il m'aider?
d'avance merci
25 réponses
Résumé de la discussion
Un script batch vise à copier des fichiers vers les postes des utilisateurs et cherche quelle variable insérer pour passer le nom d'utilisateur après Documents and Settings. Des propositions utilisent une boucle for sur des noms d'ordinateurs et un chemin UNC \\%%i\c$\Documents and Settings\%%i\..., afin de copier directement dans le profil distant. La solution trouvée consiste à remplacer %USERPROFILE% par %%i, ce qui place le fichier dans le dossier distant adéquat : \\%%i\c$\Documents and Settings\%%i\Application Data\Microsoft\Signatures\. Autre approche consiste à lire un fichier texte avec deux champs séparés par une virgule et à utiliser tokens et delims dans for /f pour mapper machines et utilisateurs.
-
bonjour
peut etre en utilisan le %1 -
Contributeurbonjour
for /F %%i IN (liste.txt) DO copy fichier.zip\\%%i\"%USERPROFILE%\Application Data\Microsoft\"..etc..
devrait marcher
pour info fait un set /?
dans une invite de commande
-
Merci pour ton aide.
Mais peux tu etre un tout petit peu plus explicit stp?? -
ContributeurEn fait la variable %USERPROFILE% est une variable windows, celle ci en particulier est dépendante de la session utilisateur
Quand c'est TOTO qui se log %USERPROFILE% retourne C:\Documents and settings\TOTO
Quand C'est PAUL qui se log, %USERPROFILE% retourne C:\Documents and settings\PAUL
La commande SET (oui set /? c'est pour l'aide, petite faute de frappe) te retourne les variables windows + les variables que tu as pu créer
ex
SET TEMPORAIRE=g:
puis
dir %TEMPORAIRE%
me donne l'arborescence de g: (ma clé usb par exemple)
-
Merci beaucoup Xavstarblues, mais j'ai une erreur:
Syntaxe du nom de fichier, de répertoire ou de volume incorrecte.
Merci encore pour tes interventions!! -
ContributeurCopie entierement ta ligne de code en erreur stp
-
Syntaxe du nom de fichier, de répertoire ou de volume incorrecte.
0 fichier(s) copié(s).
Avec ceci :
for /F %%i IN (liste.txt) DO copy fichier.zip\\%%i\"%USERPROFILE%\Application Data\Microsoft\Signatures"
De plus, du fait que je copie un .zip, saurais tu quelle ligne rajouter pour qu'il se décompresse une fois copié?
Merci -
Contributeur1-mets un espace entre fichier.zip et \\%%i....
2-rajoutes un \ apres signature, ca devrait rouler -
Contributeursinon pour dezipper sous dos, regarde ce sujet qui en parle
http://www.commentcamarche.net/forum/affich 2055594 7 zip pour dos ou le trouver -
En effet ça roule..
Seulement nouveau problème:
Le chemin réseau n'a pas été trouvé.
0 fichier(s) copié(s).
J'imagine que c'est un autre problème...lol
Merci -
Contributeurdans ton batch
avant ta boucle mets un
ping %%i
pause
est ce que ca ping bien le poste? -
Oui je ping bien bien l'hote
-
Contributeuroups , rajoute le c$ alors....
sinon je pense à un truc , ton script s'execute a partir d'ou?
-
Contributeurarf ca va pas coller alors, le userprofile retourné sera le tien (et pas celui de l'utilisateur sur l'ordi en question)
une facon de faire serait de lacher un fichier.bat dans le %ALLUSER%\ (dans le dossier demarrage) de chaque ordi et c'est ce fichier.bat qui viendrai chercher puis decompresser le .zip dans le %USERPROFILE% et ensuite se supprimerai...
-
ok
merci pour tout -
ContributeurOk, si tu as un soucis n'hésite pas
-
J'ai trouvé comment faire à partir de mon poste
En remplaçant la variable USERPROFILE par %%i
Ca marche sauf qua maintnant j'ai une erreur:
Erreur d'analyse.
..donc en fait ca amrche pas vraiment.. lol
Merci -
C'est bon j'ai trouvé et tout fonctionne à merveille!!
Voici la fin de mon script : "\\%%i\c$\Documents and Settings\%%i\Application Data\Microsoft\Signatures\"
J'ai remplacé la variable %USERPROFILE% par %%i ;)
Merci encore Xavstarblues.. tu m'as bien aidé ;)
ciao!!! -
Contributeur%%i correspond au nom de l'ordi et au nom d'utilisateur?? (1 user = 1 poste avec son nom?)
sinon Ok, c cool -
C'est ça.
Ce script fonctionne à condition que le nom de machine corresponde au nom du user connecté dessus ;)
- 1
- 2
Suivant