Posté(e) le 10 mai 200520 a 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
Posté(e) le 10 mai 200520 a 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
Posté(e) le 11 mai 200520 a Auteur 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
Posté(e) le 11 mai 200520 a 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 Modifié le 11 mai 200520 a par houmiak
Posté(e) le 12 mai 200520 a Auteur 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
Posté(e) le 13 mai 200520 a 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
Posté(e) le 13 mai 200520 a Auteur 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
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.