anoma Posted May 10, 2005 Share Posted May 10, 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 Link to comment Share on other sites More sharing options...
jpriton Posted May 10, 2005 Share Posted May 10, 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 Link to comment Share on other sites More sharing options...
anoma Posted May 11, 2005 Author Share Posted May 11, 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 Link to comment Share on other sites More sharing options...
houmiak Posted May 11, 2005 Share Posted May 11, 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 Link to comment Share on other sites More sharing options...
anoma Posted May 12, 2005 Author Share Posted May 12, 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 Link to comment Share on other sites More sharing options...
houmiak Posted May 13, 2005 Share Posted May 13, 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 Link to comment Share on other sites More sharing options...
anoma Posted May 13, 2005 Author Share Posted May 13, 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 Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.