anoma Posté(e) le 10 mai 2005 Partager Posté(e) le 10 mai 2005 Salut les Inpactiens je me creuse la tête sur un batch de sauvegarde tout simple que voici: REM création du log set log="d:\destination\sauvegarde.log" echo Sauvegarde demarree a >%log% time /T >>%log% date /T >>%log% REM Copie des dossiers echo Liste des fichiers qui n'ont pas ete copies: >>%log% echo ++++++++++++++++++++++++++++++++++++++++++ >>%log% xcopy d:\origine d:\destination /E /V /C /F /R /Y /D /I 2>>%log% REM Commentaires fin de copie echo Sauvegarde terminee a >>%log% time /T >>%log% date /T >>%log% mon problème étant que dans mon log, je me retrouve avec des lignes de "accès refusé" par exemple, mais sans le nom de fichier concerné à côté, du coup, il ne sert à rien, ce log. J'ai testé avec les redirections 1>> et 2>>, mais je ne parviens pas à les combiner pour obtenir un vrai log d'erreurs. Si quelqu'un a une idée pour me dépatouiller Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
jpriton Posté(e) le 10 mai 2005 Partager Posté(e) le 10 mai 2005 Tu utilises le commande xcopy avec tous ces paramètres. En as tu vraiment besoin? essayes sans le /C pour vérifier d'ou vient l'erreur. As-tu les droits sur la destination? En général, xcopy D:\Source\*.* D:\Destination\*.* /E /C suffit Lien vers le commentaire Partager sur d’autres sites More sharing options...
anoma Posté(e) le 11 mai 2005 Auteur Partager Posté(e) le 11 mai 2005 eh bien oui, j'ai besoin de /V pour vérifier que le fichier est bien inscrit (il s'agit d'une sauvegarde, tout de même) /F pour avoir adresse+nom du fichier dans mon log /R des fois qu'un des fichiers à remplacer soit en lecture seule /Y pour répondre oui automatiquement en cas d'écrasement de fichier /D pour ne copier que les fichiers qui ont été modifiés depuis le dernier backup /I bon j'avoue, je peux le virer, vu que mon rep. destination existe déjà. mais mon problème ne se situe pas là, mais au niveau de la redirection des erreurs. Par exemple dans le cas d'un fichier sur lequel l'opérateur de sauvegarde n'a pas les droits, j'aimerais voir "d:\origine\fichier.ext Accès refusé" dans mon log. Or , avec mon batch actuel, j'ai droit à la liste de TOUS les fichiers traités, ce qui ne m'intéresse pas du tout. Si j'utilise 2>>%log% je n'obtiens dans mon log que la liste des erreurs (Accès refusé) Voyez mon problème ? Bon, une pause Lien vers le commentaire Partager sur d’autres sites More sharing options...
houmiak Posté(e) le 11 mai 2005 Partager Posté(e) le 11 mai 2005 essaye ca plutot qu'un simple xcopy: for %%i IN (d:\origine\*.*) DO ( xcopy %%i D:\Destination /V /F /R /Y /D 2>>%log% ) il sera peut etre plus bavard pour les erreurs Lien vers le commentaire Partager sur d’autres sites More sharing options...
anoma Posté(e) le 12 mai 2005 Auteur Partager Posté(e) le 12 mai 2005 Merci pour ta suggestion, houmiak, par contre, il y a une coquille dans le potage: les fichiers dont le nom comporte des espaces ne sont pas copiés: j'obtiens un joli "nombre de paramètres non valide" Je ne vois pas comment contourner le problème... si t'as une idée Lien vers le commentaire Partager sur d’autres sites More sharing options...
houmiak Posté(e) le 13 mai 2005 Partager Posté(e) le 13 mai 2005 Oui j'ai une idée, faut juste rajouter les guillemets : for %%i IN (d:\origine\*.*) DO ( xcopy "%%i" D:\Destination /V /F /R /Y /D 2>>%log% ) Ca devrai mieu fonctionner Lien vers le commentaire Partager sur d’autres sites More sharing options...
anoma Posté(e) le 13 mai 2005 Auteur Partager Posté(e) le 13 mai 2005 eh bien, ça fonctionne, et ça me la coupe moi qui tentais (en vain) de rajouter les guillemets en concaténant genre: set %i="+%i+" alors que c'était tout simple. Merci à toi, pro du batch Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.