Dans une invite de commandes, j'essaye en vain de rediriger la sortie
d'erreur (stderr) de robocopy dans un fichier texte. Le fichier est bien
créé
(D:\ERo.txt), mais, malgré une erreur volontaire que j'ai généré avec
"cacls.exe" en bridant la modif du dossier cible, elle ne s'y inscrit pas,
le fichier reste vide. Par contre, elle y est bien mentionnée dans le
fichier log. Est-ce un comportement normal, je veux dire par là, n'y a-t-il
aucun flux séparé pour le log et les erreurs, ou bien y a-t-il quelque chose
que je ne fais pas bien ? (je précise que je je ne suis pas trop familarisé
dans les syntaxes des lignes de commandes)
Je précise aussi par ailleurs que robocopy fait correctement son travail de
synchro, quand je débride le dossier cible.
Ci dessous, les infos, et les tests que j'ai effectués:
Version de Robocopy: Produit: XP010, Fichier: 5.1.1.1010
Options: Synchro mirroir, Nombres d'essais si erreur: 1(R:1), temps
d'attente entre 2 essais: 0(W:0), répertoires non listés dans le log(NDL),
nom complet des fichiers dans le log(FP), fichier log
activé:(log:"D:\LogRo.txt).
Ci-dessous, la ligne de commandes: (désolé pour les coupures de ligne)
"D:\robocopy.exe" "E:\source" "E:\cible" /mir /NDL /FP /R:1 /W:0
/log:"D:\LogRo.txt" 2>D:\ERo.txt
Merci d'avance pour toute aide :-)
--
Cordialement
saint_path_x_arobase_t'es_laide_euh_point_fr
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gilles LAURENT
"sympatix" a écrit dans le message de news: | Bonjour,
Bonjour,
| Dans une invite de commandes, j'essaye en vain de rediriger la sortie | d'erreur (stderr) de robocopy dans un fichier texte. Le fichier est | bien créé mais reste vide. [...]
L'outil Robocopy n'utilise pas le flux stderr. Toutes les traces sont redirigées sur le flux stdout ou dans le fichier log. Le fichier log respecte toutefois une convention de formatage qui devrait simplifier son analyse (C.f "Text Tags" à la fin du document Robocopy.doc). De plus, le résultat du traitement est consigné dans la variable d'environnement ErrorLevel (C.f "Return Code").
-- Gilles LAURENT http://glsft.free.fr
"sympatix" <blablablasympatix@blablablatele2.fr> a écrit dans le
message de news:uaUSrTHEHHA.4508@TK2MSFTNGP02.phx.gbl
| Bonjour,
Bonjour,
| Dans une invite de commandes, j'essaye en vain de rediriger la sortie
| d'erreur (stderr) de robocopy dans un fichier texte. Le fichier est
| bien créé mais reste vide.
[...]
L'outil Robocopy n'utilise pas le flux stderr. Toutes les traces sont
redirigées sur le flux stdout ou dans le fichier log. Le fichier log
respecte toutefois une convention de formatage qui devrait simplifier
son analyse (C.f "Text Tags" à la fin du document Robocopy.doc). De
plus, le résultat du traitement est consigné dans la variable
d'environnement ErrorLevel (C.f "Return Code").
"sympatix" a écrit dans le message de news: | Bonjour,
Bonjour,
| Dans une invite de commandes, j'essaye en vain de rediriger la sortie | d'erreur (stderr) de robocopy dans un fichier texte. Le fichier est | bien créé mais reste vide. [...]
L'outil Robocopy n'utilise pas le flux stderr. Toutes les traces sont redirigées sur le flux stdout ou dans le fichier log. Le fichier log respecte toutefois une convention de formatage qui devrait simplifier son analyse (C.f "Text Tags" à la fin du document Robocopy.doc). De plus, le résultat du traitement est consigné dans la variable d'environnement ErrorLevel (C.f "Return Code").
-- Gilles LAURENT http://glsft.free.fr
Michel Claveau
Bonjour !
Robocopy n'utilise pas le flux stderr
C'est très vrai, et c'est voulu. Robocopy (ROBust_COPY) doit pouvoir continuer, même s'il rencontre des erreurs. Or, dans certains cas, le simple fait d'écrire dans le flux stderr pourrait interrompre le déroulement (normal ?) d'un script.
-- @-salutations
Michel Claveau
Bonjour !
Robocopy n'utilise pas le flux stderr
C'est très vrai, et c'est voulu. Robocopy (ROBust_COPY) doit pouvoir
continuer, même s'il rencontre des erreurs.
Or, dans certains cas, le simple fait d'écrire dans le flux stderr
pourrait interrompre le déroulement (normal ?) d'un script.
C'est très vrai, et c'est voulu. Robocopy (ROBust_COPY) doit pouvoir continuer, même s'il rencontre des erreurs. Or, dans certains cas, le simple fait d'écrire dans le flux stderr pourrait interrompre le déroulement (normal ?) d'un script.
-- @-salutations
Michel Claveau
sympatix
Bonjour Gilles LAURENT, dans le message news: tu nous disais:
L'outil Robocopy n'utilise pas le flux stderr. Toutes les traces sont redirigées sur le flux stdout ou dans le fichier log. ça confirme mes investigations
L'outil Robocopy n'utilise pas le flux stderr. Toutes les traces sont redirigées sur le flux stdout ou dans le fichier log. Le fichier log respecte toutefois une convention de formatage qui devrait simplifier son analyse (C.f "Text Tags" à la fin du document Robocopy.doc). D'accord
De plus, le résultat du traitement est consigné dans la variable d'environnement ErrorLevel (C.f "Return Code"). Effectivement, c'est magnifique, j'arrive à récupérer cette variable dans un
fichier texte comme suit: if errorlevel 0 echo %errorlevel% >D:ERo.txt
Petite remarque: Je ne comprend pas pourquoi, quand errorlevel me retourne le code 8, j'ai un code 5 dans le log, extrait du log: ------Log------------- New File 0 E:sourceschmurtz.txt 2006/11/26 10:09:50 ERROR 5 (0x00000005) Copying File E:sourceschmurtz.txt AccSs refus,. -------Log----------- Alors que Errorlevel est égal à 8.
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
Bonjour Gilles LAURENT, dans le message
news:uWfdElKEHHA.3520@TK2MSFTNGP04.phx.gbl
tu nous disais:
L'outil Robocopy n'utilise pas le flux stderr. Toutes les traces sont
redirigées sur le flux stdout ou dans le fichier log.
ça confirme mes investigations
L'outil Robocopy n'utilise pas le flux stderr. Toutes les traces sont
redirigées sur le flux stdout ou dans le fichier log. Le fichier log
respecte toutefois une convention de formatage qui devrait simplifier
son analyse (C.f "Text Tags" à la fin du document Robocopy.doc).
D'accord
De plus, le résultat du traitement est consigné dans la variable
d'environnement ErrorLevel (C.f "Return Code").
Effectivement, c'est magnifique, j'arrive à récupérer cette variable dans un
fichier texte comme suit:
if errorlevel 0 echo %errorlevel% >D:ERo.txt
Petite remarque:
Je ne comprend pas pourquoi, quand errorlevel me retourne le code 8, j'ai un
code 5 dans le log, extrait du log:
------Log-------------
New File 0 E:sourceschmurtz.txt
2006/11/26 10:09:50 ERROR 5 (0x00000005) Copying File E:sourceschmurtz.txt
AccSs refus,.
-------Log-----------
Alors que Errorlevel est égal à 8.
Bonjour Gilles LAURENT, dans le message news: tu nous disais:
L'outil Robocopy n'utilise pas le flux stderr. Toutes les traces sont redirigées sur le flux stdout ou dans le fichier log. ça confirme mes investigations
L'outil Robocopy n'utilise pas le flux stderr. Toutes les traces sont redirigées sur le flux stdout ou dans le fichier log. Le fichier log respecte toutefois une convention de formatage qui devrait simplifier son analyse (C.f "Text Tags" à la fin du document Robocopy.doc). D'accord
De plus, le résultat du traitement est consigné dans la variable d'environnement ErrorLevel (C.f "Return Code"). Effectivement, c'est magnifique, j'arrive à récupérer cette variable dans un
fichier texte comme suit: if errorlevel 0 echo %errorlevel% >D:ERo.txt
Petite remarque: Je ne comprend pas pourquoi, quand errorlevel me retourne le code 8, j'ai un code 5 dans le log, extrait du log: ------Log------------- New File 0 E:sourceschmurtz.txt 2006/11/26 10:09:50 ERROR 5 (0x00000005) Copying File E:sourceschmurtz.txt AccSs refus,. -------Log----------- Alors que Errorlevel est égal à 8.
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
sympatix
Bonjour Michel Claveau, dans le message news: tu nous disais:
Bonjour !
Robocopy n'utilise pas le flux stderr
C'est très vrai, et c'est voulu. Robocopy (ROBust_COPY) doit pouvoir continuer, même s'il rencontre des erreurs. Or, dans certains cas, le simple fait d'écrire dans le flux stderr pourrait interrompre le déroulement (normal ?) d'un script.
Bonjour, et merci pour ces précisions :-) -- Cordialement saint_path_x_arobase_t'es_laide_euh_point_fr
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
Bonjour Michel Claveau, dans le message
news:mn.d24d7d6b3dee6011.34209@XmXclaveauXX.XX.com
tu nous disais:
Bonjour !
Robocopy n'utilise pas le flux stderr
C'est très vrai, et c'est voulu. Robocopy (ROBust_COPY) doit pouvoir
continuer, même s'il rencontre des erreurs.
Or, dans certains cas, le simple fait d'écrire dans le flux stderr
pourrait interrompre le déroulement (normal ?) d'un script.
Bonjour, et merci pour ces précisions :-)
--
Cordialement
saint_path_x_arobase_t'es_laide_euh_point_fr
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
Bonjour Michel Claveau, dans le message news: tu nous disais:
Bonjour !
Robocopy n'utilise pas le flux stderr
C'est très vrai, et c'est voulu. Robocopy (ROBust_COPY) doit pouvoir continuer, même s'il rencontre des erreurs. Or, dans certains cas, le simple fait d'écrire dans le flux stderr pourrait interrompre le déroulement (normal ?) d'un script.
Bonjour, et merci pour ces précisions :-) -- Cordialement saint_path_x_arobase_t'es_laide_euh_point_fr
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
Gilles LAURENT
"sympatix" a écrit dans le message de news:%
[...] | Petite remarque: | Je ne comprend pas pourquoi, quand errorlevel me retourne le code 8, | j'ai un code 5 dans le log, extrait du log: | ------Log------------- | New File 0 E:sourceschmurtz.txt | 2006/11/26 10:09:50 ERROR 5 (0x00000005) Copying File | E:sourceschmurtz.txt AccSs refus,. | -------Log-----------
Dans le fichier log apparaît l'erreur Win32 ERROR_ACCESS_DENIED (5) provoqué par l'API Win32 CopyFileEx. Cette erreur Win32 indique effectivement un problème d'accès refusé à une ressource. Le code d'erreur consigné dans la variable d'environnement ErrorLevel est quant à lui spécifique à l'outil Robocopy. Celui-ci est toujours compris en 0 et 16 et spécifie uniquement le type d'erreur.
-- Gilles LAURENT http://glsft.free.fr
"sympatix" <blablablasympatix@blablablatele2.fr> a écrit dans le
message de news:%23y9fOvTEHHA.3396@TK2MSFTNGP02.phx.gbl
[...]
| Petite remarque:
| Je ne comprend pas pourquoi, quand errorlevel me retourne le code 8,
| j'ai un code 5 dans le log, extrait du log:
| ------Log-------------
| New File 0 E:sourceschmurtz.txt
| 2006/11/26 10:09:50 ERROR 5 (0x00000005) Copying File
| E:sourceschmurtz.txt AccSs refus,.
| -------Log-----------
Dans le fichier log apparaît l'erreur Win32 ERROR_ACCESS_DENIED (5)
provoqué par l'API Win32 CopyFileEx. Cette erreur Win32 indique
effectivement un problème d'accès refusé à une ressource. Le code
d'erreur consigné dans la variable d'environnement ErrorLevel est quant
à lui spécifique à l'outil Robocopy. Celui-ci est toujours compris en 0
et 16 et spécifie uniquement le type d'erreur.
[...] | Petite remarque: | Je ne comprend pas pourquoi, quand errorlevel me retourne le code 8, | j'ai un code 5 dans le log, extrait du log: | ------Log------------- | New File 0 E:sourceschmurtz.txt | 2006/11/26 10:09:50 ERROR 5 (0x00000005) Copying File | E:sourceschmurtz.txt AccSs refus,. | -------Log-----------
Dans le fichier log apparaît l'erreur Win32 ERROR_ACCESS_DENIED (5) provoqué par l'API Win32 CopyFileEx. Cette erreur Win32 indique effectivement un problème d'accès refusé à une ressource. Le code d'erreur consigné dans la variable d'environnement ErrorLevel est quant à lui spécifique à l'outil Robocopy. Celui-ci est toujours compris en 0 et 16 et spécifie uniquement le type d'erreur.
-- Gilles LAURENT http://glsft.free.fr
sympatix
Dans le fichier log apparaît l'erreur Win32 ERROR_ACCESS_DENIED (5) provoqué par l'API Win32 CopyFileEx. Cette erreur Win32 indique effectivement un problème d'accès refusé à une ressource. Le code d'erreur consigné dans la variable d'environnement ErrorLevel est quant à lui spécifique à l'outil Robocopy. Celui-ci est toujours compris en 0 et 16 et spécifie uniquement le type d'erreur.
Merci encore pour cette réponse précise et concise :-) -- Cordialement sympatix
Dans le fichier log apparaît l'erreur Win32 ERROR_ACCESS_DENIED (5)
provoqué par l'API Win32 CopyFileEx. Cette erreur Win32 indique
effectivement un problème d'accès refusé à une ressource. Le code
d'erreur consigné dans la variable d'environnement ErrorLevel est quant
à lui spécifique à l'outil Robocopy. Celui-ci est toujours compris en 0
et 16 et spécifie uniquement le type d'erreur.
Merci encore pour cette réponse précise et concise :-)
--
Cordialement
sympatix
Dans le fichier log apparaît l'erreur Win32 ERROR_ACCESS_DENIED (5) provoqué par l'API Win32 CopyFileEx. Cette erreur Win32 indique effectivement un problème d'accès refusé à une ressource. Le code d'erreur consigné dans la variable d'environnement ErrorLevel est quant à lui spécifique à l'outil Robocopy. Celui-ci est toujours compris en 0 et 16 et spécifie uniquement le type d'erreur.
Merci encore pour cette réponse précise et concise :-) -- Cordialement sympatix