Sauvegarder sorties standard et d'erreur
Le
Gloops
Bonjour tout le monde,
Je remets sur le tapis la question de sauvegarder un journal d'une
sauvegarde faite avec XCOPY.
Pierre Torris s'y est gentiment collé il y a quelque temps de cela, ave=
c
son utilitaire cmdlog qui permet de rediriger la sortie standard vers un =
fichier, tout en l'affichant simultanément à l'écran. A ce que je m=
e
rappelle, sur ma dernière machine j'ai aussi réussi à sauvegarder l=
a
sortie d'erreur dans un autre fichier, dans les mêmes conditions.
J'ai bien fait de poser la question déjà ailleurs il y a un moment, ç=
a
m'a permis de retrouver la syntaxe :
XCOPY /E /C /M /H /Y /R /EXCLUDE:c:\excl "C:\Documents and Settings\*.*"
"S:\Documents and Settings\*.*" 2>S:\err |"C:\Programmes\cmdlog\cmdlog"
"S:\log"
Le seul ennui, qui apparaît le jour où se produit une erreur, c'est q=
ue
ce que XCOPY envoie sur la sortie d'erreur, il ne l'envoie pas sur la
sortie standard. Donc, je me retrouve à la fin avec un fichier qui
contient les chemins vers les fichiers à sauvegarder, et un autre
fichier qui dit en substance "fichier verrouillé, sauvegarde
impossible", et du coup je sais qu'un fichier était verrouillé pendan=
t
la sauvegarde, mais je ne sais pas lequel.
Alors bien entendu, je pourrais finir la commande XCOPY par 2>&1 (ou
simplement ne pas rediriger la sortie d'erreur) et j'aurais tout dans le =
même fichier.
Le luxe, maintenant, ce serait de sortir trois fichiers.
Un avec la sortie standard, qui contiendra les noms des fichiers
sauvegardés, un avec la sortie d'erreur, qui donnera une vue d'ensemble=
sur les erreurs rencontrées (histoire de ne pas chercher d'erreur
lorsqu'il n'y en a pas), et un troisième fichier qui contient le tout
dans l'ordre d'entrée en scène, et qui donc permet de savoir ce qu'a =
affiché XCOPY sur la sortie standard, juste avant de rouspéter sur la=
sortie d'erreur.
Est-ce qu'il y a un moyen tout bête auquel j'aurais déjà dû pense=
r, ou
est-ce que la question serait plus à sa place dans un forum de
développement ?
Je remets sur le tapis la question de sauvegarder un journal d'une
sauvegarde faite avec XCOPY.
Pierre Torris s'y est gentiment collé il y a quelque temps de cela, ave=
c
son utilitaire cmdlog qui permet de rediriger la sortie standard vers un =
fichier, tout en l'affichant simultanément à l'écran. A ce que je m=
e
rappelle, sur ma dernière machine j'ai aussi réussi à sauvegarder l=
a
sortie d'erreur dans un autre fichier, dans les mêmes conditions.
J'ai bien fait de poser la question déjà ailleurs il y a un moment, ç=
a
m'a permis de retrouver la syntaxe :
XCOPY /E /C /M /H /Y /R /EXCLUDE:c:\excl "C:\Documents and Settings\*.*"
"S:\Documents and Settings\*.*" 2>S:\err |"C:\Programmes\cmdlog\cmdlog"
"S:\log"
Le seul ennui, qui apparaît le jour où se produit une erreur, c'est q=
ue
ce que XCOPY envoie sur la sortie d'erreur, il ne l'envoie pas sur la
sortie standard. Donc, je me retrouve à la fin avec un fichier qui
contient les chemins vers les fichiers à sauvegarder, et un autre
fichier qui dit en substance "fichier verrouillé, sauvegarde
impossible", et du coup je sais qu'un fichier était verrouillé pendan=
t
la sauvegarde, mais je ne sais pas lequel.
Alors bien entendu, je pourrais finir la commande XCOPY par 2>&1 (ou
simplement ne pas rediriger la sortie d'erreur) et j'aurais tout dans le =
même fichier.
Le luxe, maintenant, ce serait de sortir trois fichiers.
Un avec la sortie standard, qui contiendra les noms des fichiers
sauvegardés, un avec la sortie d'erreur, qui donnera une vue d'ensemble=
sur les erreurs rencontrées (histoire de ne pas chercher d'erreur
lorsqu'il n'y en a pas), et un troisième fichier qui contient le tout
dans l'ordre d'entrée en scène, et qui donc permet de savoir ce qu'a =
affiché XCOPY sur la sortie standard, juste avant de rouspéter sur la=
sortie d'erreur.
Est-ce qu'il y a un moyen tout bête auquel j'aurais déjà dû pense=
r, ou
est-ce que la question serait plus à sa place dans un forum de
développement ?

Poser une question


Gloops a écrit :
L'utilitaire XXCOPY le permet avec par exemple cette ligne de commande :
C:>xxcopy c:*.* x: /KS /H /Y /R /Foy:L1.txt /oNy:L2.txt /oS2 /oE2 >y:L.txt
http://www.xxcopy.com/xcpymain.htm
Ah, voilà qui a au moins l'air de valoir le coup d'il.
J'envisageais le problème par l'autre bout, mais si c'est déjà gé ré de
ce côté, ça promet d'être plus simple.
Merci pour le tuyau.
Bon, ben ça avait l'air pas mal, mais finalement c'est raté, en déb ut de
traitement on a comme message :
======= XXCOPY ============== ========================= ====
The command switch (/oE3) included in the command line
is not officially supported by the XXCOPY Freeware Edition.
le traitement se lance quand même,
et à la fin :
Directories Processed = 10á127
Total Data in Bytes = 0
Elapsed time in sec. = 501.7 (8 min 21 sec)
Action speed (MB/min) = 0
Files Copied = 0
Filelist File Created = S:log
Log File Created = S:all
Exit code = 100 (No files were found to copy)
La première fois je me disais que ça m'étonnait, mais comme j'avais fait
une sauvegarde juste avant, pourquoi pas, là après avoir reçu des m ails
pendant une semaine, pas possible.
Gloops a écrit :
Heu, moi j'avais mis /oE2 ...
L1.txt => les fichiers copiés
L2.txt => les erreurs
L.txt => la redirection de la sortie standart
J'ai essayé aussi avec oE2, bien que ça limite l'intérêt de l'opé ration,
mais j'ai eu la même réponse. oE2 not officially supported ...
Je n'ai peut-être pas la même version ?