Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1542 connectés 

  FORUM HardWare.fr
  Windows & Software
  Stockage/Sauvegarde

  robocopy a partir d'une liste

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

robocopy a partir d'une liste

n°2781550
WINDOWSTRU​ST
Posté le 25-05-2008 à 19:48:25  profilanswer
 

Bonjour a tous,
Dans le cadre de mon travail je dois utiliser robocopy .
Robocopy devrai lire une liste, où la source et la destination sont espacé d'un ";"
exemple :\\server\dossier\fichier.pps(source);\\server1\fichier1(destination)
Robocopy devra lire cette liste et faire la sauvegarde jusqu'à la fin de cette liste.
Tout ceci devra être réalisé dans un batch.
 
N'ayant que de petites bases sur robocopy je n'arrive pas a lui faire lire la liste correctement.
 
Question1 : Comment puis-je faire ?
Question 2 :serrait il plus facile de déclarer un variable source et destination ? Et comment ?
 
Je tiens a précisez que la dite liste n'est ni modifiable ni divisible en deux (d'où le problème)
 
Je sais que pour un pro c'est fait en 5 minute mais moi je cale et c'est assez urgent
 
Help please!!!!!    
 
PS: Certains sujet semble similaire a mon problème mais ne le résolvent pas .

mood
Publicité
Posté le 25-05-2008 à 19:48:25  profilanswer
 

n°2781597
Z_cool
HFR profile rating:⭐⭐⭐⭐
Posté le 26-05-2008 à 06:12:51  profilanswer
 

tu ouvre ta liste avec Excel, tu adapte le fichier pour le transformer en suite de commande, tu sauve sous un fichier text que tu renom en .bat et tu lance


---------------
#mais-chut
n°2781600
Wolfman
Modérateur
Lobo'tomizado
Posté le 26-05-2008 à 08:35:37  profilanswer
 

Attention : robocopy permet de copier des dossiers, pas des fichiers !

n°2781765
WINDOWSTRU​ST
Posté le 26-05-2008 à 22:07:35  profilanswer
 

merci Z_cool ça marche

n°2781769
WINDOWSTRU​ST
Posté le 26-05-2008 à 22:27:15  profilanswer
 

Dernière petite question concernant robocopy et AutoIT(logiciel de réalisation de script)
 
je veux faire un shellexecute de robocopy avec les variables $source et $destination comme ceci :
 
ShellExecute ("robocopy.exe", $source""$dest)
 
Le problème c'est que je ne sais pas comment faire pour que AutoIt lise Le texte que contient ces variables.
Car quand je le lance il ne me signale aucune erreur mais rien ne se passe.
Je pense que ce n'ai qu'un problème de Typographie
PS:je n'ai pas mis toute les ligne de code car je sais que c'est sur celle ci que ça bloque.
 
Quelqu'un pourrai il m éclairer s'il vous plait car je ne trouve pas dans l'aide qu'il y a avec le logiciel.  siouplé!!

n°2781812
blueteen
Posté le 27-05-2008 à 11:08:51  profilanswer
 

On ne sait pas ce que contiennent : $source et $dest

n°2781878
WINDOWSTRU​ST
Posté le 27-05-2008 à 14:32:44  profilanswer
 

robocopy sert a a faire des copie de fichier dans ce cas si on a $source qui est un chemin reseau de fichier source et $dest qui est le chemin reseau du dossier de destination...
dans un .bat taper :
"robocopy c:\docs d:\backup"     sauvegarderai c:\docs dans d:\backup
 
mon script vient puisser dans un tableau qui contiens l adresse de source et de destination comme ceci  c:\docs;d:\backup
dans ce cas si $source contient c:\docs et $dest contient d:\backup...
 
Mais que se soit avec shellexecute ou Run(@ComSpec ou run n'arrivent a parametrer robocopy par rapport a $source et $dest que faisje de mal??
 
PS: j'ai testé avec des msgbox $source et $dest contiennent bien les adresses voulu

n°2781883
blueteen
Posté le 27-05-2008 à 14:42:24  profilanswer
 

Justement, je voulais m'assurer que tes variables contenaient les bonnes valeurs.

 

Tu as essayé en indiquant le chemin complet de robocopy ?
Tu as essayé en écrivant en dur l'adresse des tes dossiers dans ta ligne de commande ? (au lieu de passer par les variables pour le moment), juste pour s'assurer que cette syntaxe est bonne.

 

Si tu peux nous coller ton script ici, comme ça je teste de mon côté.


Message édité par blueteen le 27-05-2008 à 14:44:05
n°2781893
WINDOWSTRU​ST
Posté le 27-05-2008 à 15:14:21  profilanswer
 

#cs ----------------------------------------------------------------------------
 
 AutoIt Version: 3.2.10.0
 Author:         myName
 
 Script Function:
 Template AutoIt script.
 
#ce ----------------------------------------------------------------------------
 
; Script Start - Add your code below here
#include <File.au3>
 
 
Dim $dest, $source, $line, $file, $CountLines, $i, $array[3]
 
 
$file = FileOpen ("test.txt", 0)
$CountLines = _FileCountLines("test.txt" )
 
If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file." )
    Exit
EndIf
for $i=0 to ($CountLines - 1)
    $line = FileReadLine($file)
 $array = StringSplit($line, ';', 1)
 $source = $array[1]
 $dest = $array[2]
 ShellExecute ("c:\robocopy.exe", $source""$dest)
next

n°2781897
blueteen
Posté le 27-05-2008 à 15:30:37  profilanswer
 

Je viens de faire un test, et ce code marche :

Code :
  1. ShellExecute("c:\robocopy", "c:\scripts c:\scripts_backup" )


 
Que contient 'exactement' $source
Idem pour $dest ?
 
Marque nous tout ici, avec les / etc...

mood
Publicité
Posté le 27-05-2008 à 15:30:37  profilanswer
 

n°2781898
WINDOWSTRU​ST
Posté le 27-05-2008 à 15:43:46  profilanswer
 

$source c:\test
$dest c:\testdest
 
mais je viens de voir sa marche bien quand je met le chemin complet
Le probleme c 'est que quand je met la variable il affiche le nom de la variable au lieu d afficher ce que contient la variable :
dans la fenetre dos robocopy affiche : robocopy $souce $dest
au lieu d affcher le contenu soit : robocopy c:\test c:\testdest
 
donc ma question serai comment fait on comprendre a robocopy qu il doit lire le contenu de la variable et non le nom de la variable  
sais-tu le faire ???

n°2781903
blueteen
Posté le 27-05-2008 à 15:49:08  profilanswer
 

Je viens de faire un test rapide avec ce code qui fonctionne (je concatène mes 2 variables au préalable, et j'utilise la variable finale dans ma ligne de commande de robocopy).
 

Code :
  1. Dim $dest, $source, $chemin
  2. $source = "c:\scripts"
  3. $dest = "c:\scripts_backup"
  4. $chemin = $source&" "&$dest
  5. ShellExecute("c:\robocopy", $chemin)


 
Car comme toi, dans le ShellExecute, je n'arrivais pas à faire passer les 2 variables.
 
Si ça peut te dépanner en attendant de trouver la bonne syntaxe pour utiliser tes 2 variables dans ShellExecute.

n°2781904
blueteen
Posté le 27-05-2008 à 15:50:11  profilanswer
 

Bon ben hop, c'est bon comme ça :

Code :
  1. Dim $dest, $source
  2. $source = "c:\scripts"
  3. $dest = "c:\scripts_backup"
  4. ShellExecute("c:\robocopy", $source&" "&$dest)


Message édité par blueteen le 27-05-2008 à 15:50:44
n°2781908
WINDOWSTRU​ST
Posté le 27-05-2008 à 15:56:28  profilanswer
 

ouai c'est cool ça marche c etait un probleme de syntaxe tout simplement
un GRAND merci a toi blueteen


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Stockage/Sauvegarde

  robocopy a partir d'une liste

 

Sujets relatifs
[Excel/OOo] extraire d'une liste en fonction d'une autre listeMSN -verouiller la liste de contacts
Creer une image a partir de Wordgénérer une base de donnée à partir d'un répertoire
[Résolu] Office2003: vider liste des fichiers récents dans word&excelEnvoi outlook A PARTIR d'une liste de distribution sous Outlook 2003
Sauvegarder la liste des podcasts de WinampProcessus ou logiciels qui liste l'activité d'un port de communication
VmWare : accéder au disque physique à partir d'une Mandriva virtuelle? 
Plus de sujets relatifs à : robocopy a partir d'une liste


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR