Commande Robocopy

Commande Robocopy - Windows & Software

Marsh Posté le 06-07-2004 à 11:45:54    

Salut à tous,
 
Je suis en train de mettre en place un automatisme pour mettre à l'identique sur plusieurs serveurs une arborescence type.
Pour ceci j'utilise la commande Robocopy.
Avant et après la commande je fais un net use.(Connection lecteur réseau)
Cependant quand j'effectue à la main le net use vers le serveur, le robocopy puis le net use /delete pour enlever le lecteur connecté, tout se passe très bien.
Mon problème est quand je met ces diverses commandes dans un .bat pour tous regrouper, lorsque je lance celui-ci la commande pars en live celle-ci tourne en boucle, voir fais n'importe quoi, et en fin de compte ne fait rien.
 
Quelqu'un pourrait-il m'éclairer ??  
 
Merci d'avance de votre aide!

Reply

Marsh Posté le 06-07-2004 à 11:45:54   

Reply

Marsh Posté le 06-07-2004 à 11:48:02    

insère des "pause" à divers endroit pour voir où ça plante.
 
un après ton premier net use, un après ta commande robocopy, et une après ton net use /delete

Reply

Marsh Posté le 06-07-2004 à 11:51:16    

L'execution d'un .bat n'est pas séquentielle, le système n'attend pas qu'une commande soit finie pour lancer la suivante.
Dans ton cas il y a de fortes chances que le robocopy se lance avant que le lecteur réseau soit connecté et qui plus est, ce même lecteur réseau est sans doute effacé avant que robocopy ait fini son boulot.

Reply

Marsh Posté le 06-07-2004 à 11:58:21    

Gaard28 a écrit :

L'execution d'un .bat n'est pas séquentielle, le système n'attend pas qu'une commande soit finie pour lancer la suivante.
Dans ton cas il y a de fortes chances que le robocopy se lance avant que le lecteur réseau soit connecté et qui plus est, ce même lecteur réseau est sans doute effacé avant que robocopy ait fini son boulot.


 
 :heink:  
 
:??:

Reply

Marsh Posté le 06-07-2004 à 11:59:13    

.bat pas séquentielle ???
 
Je ne suis pas sur mais je pense qu'il faut que tu mettes entre "" tes commandes

Reply

Marsh Posté le 06-07-2004 à 11:59:30    

Gaard28 a écrit :

L'execution d'un .bat n'est pas séquentielle, le système n'attend pas qu'une commande soit finie pour lancer la suivante.
Dans ton cas il y a de fortes chances que le robocopy se lance avant que le lecteur réseau soit connecté et qui plus est, ce même lecteur réseau est sans doute effacé avant que robocopy ait fini son boulot.


 
l'execution d'un bat est strictement sequentiel, et on peux rien n'y changer ...

Reply

Marsh Posté le 06-07-2004 à 11:59:49    

mes .bat contiennent ça :
 

Code :
  1. net use u: "\\172.20.48.1" "blabla" /user:save
  2. cd\
  3. cd "program files"
  4. cd "nnbackup"
  5. nnbackup verz -n 5 -i "u:\" -i "\\u:\Udt" -o "l:\fichiers_adm\" -s -e -pc -sdn "%%WW%%-%%DD%%-%%MM%%-fichiers-admin" -log "l:\fichiers_adm\fichiers.log"
  6. net use u: /delete /y


 
et pas de pbs
pourtant des fois le net use met du temps à connecter le lecteur.
 

Gaard28 a écrit :

L'execution d'un .bat n'est pas séquentielle, le système n'attend pas qu'une commande soit finie pour lancer la suivante.
Dans ton cas il y a de fortes chances que le robocopy se lance avant que le lecteur réseau soit connecté et qui plus est, ce même lecteur réseau est sans doute effacé avant que robocopy ait fini son boulot.

Reply

Marsh Posté le 06-07-2004 à 12:01:25    

Pourquoi faire un "net use" alors que robocopy gère les chemins UMC ?

Reply

Marsh Posté le 06-07-2004 à 12:01:27    

c'est koi ca "nnbackup" ?!

Reply

Marsh Posté le 06-07-2004 à 12:04:25    

7ptique a écrit :

Pourquoi faire un "net use" alors que robocopy gère les chemins UMC ?


 
Le net use permet de s'indentifier avec un login et un mdp différents de ceux locaux

Reply

Marsh Posté le 06-07-2004 à 12:04:25   

Reply

Marsh Posté le 06-07-2004 à 12:06:38    

lebig a écrit :

Le net use permet de s'indentifier avec un login et un mdp différents de ceux locaux


 
Dans ce cas utilise les chemins UNC mais lance ta commande avec SU pour les droits.

Reply

Marsh Posté le 06-07-2004 à 12:45:33    

nnbackup est un programme de sauvegarde (très complet) que j'utilise avec nncron (planificateur avancé)
 
www.nncron.ru
 

brainbugs a écrit :

c'est koi ca "nnbackup" ?!

Reply

Marsh Posté le 06-07-2004 à 14:14:55    

Bon pour vous faire plaisir je viens de revérifier :
un bat n'est pas séquentiel. Ceux qui ne comprennent pas ce mot, passez votre chemin.
 
Je vais m'énerver a la fin.

Reply

Marsh Posté le 06-07-2004 à 14:28:58    

par défault, %ww% et %dd% ne sont pas dénini mais  
les fonctions %DATE:~5,2%  pour le jour  %DATE:~8,2% pour le mois et %DATE:~11,4% pour l'année sont disponibles
 

Reply

Marsh Posté le 06-07-2004 à 14:34:28    

Citation :


 Sequential Execution of Batch File Commands
 
When executing a Windows 95 batch file, Windows 95 launches a Windows program and continues immediately with the execution of the next instruction in the batch file. This might cause more than one program to run simultaneously.
 
The START command with the '/W' switch provides a effective means to force sequential execution of batch file commands. Insert
 
START /W
 
in front of the batch line that launches an application and Windows 95 will wait until that application terminates before execution the next batch file line or command.


 
il n'empèche que je n'ai jamais eu de pbs.
que la commande "net use" s'exécute bien ou pas, le backup n'a jamais commencé avant la fin de l'exécution de net use
 
peut-être que le côté non séquentiel des .bat est surtout lié au lancement d'applications externes et pas de commandes système.

Reply

Marsh Posté le 06-07-2004 à 16:49:33    

Gaard28 a écrit :

Bon pour vous faire plaisir je viens de revérifier :
un bat n'est pas séquentiel. Ceux qui ne comprennent pas ce mot, passez votre chemin.
 
Je vais m'énerver a la fin.


 
un batch est sequentiel, sauf que dans le process d'execution, la fin d'une instruction n'est pas attendue pour passer à la suivante.
 
trucmuch.exe
machin.exe
bidule.exe
 
bidule.exe est tjs exécuté en dernier, par contre la tache trucmuch n'est pas forcement terminée.

Reply

Marsh Posté le 13-07-2004 à 13:54:10    

L'invocation des commandes contenues dans le fichier texte .bat se fait en séquentiel.
L'exécution de chaque commande EXTERNE se fait dans des process parallèles.
L'exécution des commandes INTERNES (DIR, COPY etc.) se fait bien en séquentiel.
Pour que les commandes de tout poil s'exécutent en séquentiel dans un .bat, il faut les appeler par la commande DOS CALL.
Ex :  
DIR C:\
CALL TRUCMUCH.EXE
CALL MACHIN.EXE
CALL BIDULE.EXE
DIR D:\

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed