Joindre message d'erreur dans résultat d'un fichier bat ?
2 réponses
Vincent J.
Bonjour,
Sur un serveur, j'ai un .bat qui me copie certains répertoires durant la
nuit sur un disque amovible.
Pour la copie de ces répertoires, j'utilise la syntaxe:
xcopy /D /E /I /H /R /Y c:\toto\*.* e:\toto\ >> c:\save.log
Un "journal" est ainsi généré lors de la copie où je peux voir le nombre
ainsi que le nom des fichiers copiés.
Mon seul soucis c'est que la synthaxe >>c:\save.log ne me répercute pas les
messages d'erreurs lors de la copie.
Par exemple, j'ai actuellement le disque dur amovible qui est plein.
Dans le c:\save.log, il ne me répercute juste le fait qu'il n'y a pas de
fichier copié.
Alors que si je passe par cmd, avec la commande xcopy /D /E /I /H /R /Y
c:\toto\*.* e:\toto, là il me dit 0 fichiers copiés mais également "Espace
disque insuffisant".
Comment faire pour qu'il me récupere l'info "Espace disque insuffisant" sur
mon fichier c:\save.log ?
Si la chose est possible ?
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
NyGL
Salut,
la syntaxe commande>>fichier.log ou commande 1>>fichier.log ne renvoie que la sortie standard vers le fichier. La sortie d'erreur n'est pas renvoyée et c'est pour ça qu'elle s'affiche sur la console.
Pour renvoyer la sortie d'erreur, il faut faire comme suit : commande 2>>fichier.log mais cette commande ne renvoie que la sortie d'erreur. Tous les messages de la ligne de commande sont affichés sur la console.
Pour rediriger les sorties standard et d'erreur il faut procéder de la sorte : commande 1>>fichier.log,2>&1
cette commande renvoie la sortie d'erreur vers la sortie standard et la sortie standard vers le fichier. Notez qu'on ne peut pas renvoyer à la fois la sortie d'erreur et la sortie standard vers le fichier. En effet, le même fichier ne peut pas être ouvert 2 fois en écriture.
Bon script.
NyGL
"Vincent J." wrote in message news:%234%
Bonjour,
Sur un serveur, j'ai un .bat qui me copie certains répertoires durant la nuit sur un disque amovible.
Pour la copie de ces répertoires, j'utilise la syntaxe: xcopy /D /E /I /H /R /Y c:toto*.* e:toto >> c:save.log
Un "journal" est ainsi généré lors de la copie où je peux voir le nombre ainsi que le nom des fichiers copiés.
Mon seul soucis c'est que la synthaxe >>c:save.log ne me répercute pas les messages d'erreurs lors de la copie. Par exemple, j'ai actuellement le disque dur amovible qui est plein. Dans le c:save.log, il ne me répercute juste le fait qu'il n'y a pas de fichier copié. Alors que si je passe par cmd, avec la commande xcopy /D /E /I /H /R /Y c:toto*.* e:toto, là il me dit 0 fichiers copiés mais également "Espace disque insuffisant".
Comment faire pour qu'il me récupere l'info "Espace disque insuffisant" sur mon fichier c:save.log ? Si la chose est possible ?
MErci Vincent
Salut,
la syntaxe
commande>>fichier.log
ou
commande 1>>fichier.log
ne renvoie que la sortie standard vers le fichier. La sortie d'erreur n'est
pas renvoyée et c'est pour ça qu'elle s'affiche sur la console.
Pour renvoyer la sortie d'erreur, il faut faire comme suit :
commande 2>>fichier.log
mais cette commande ne renvoie que la sortie d'erreur. Tous les messages de
la ligne de commande sont affichés sur la console.
Pour rediriger les sorties standard et d'erreur il faut procéder de la sorte
:
commande 1>>fichier.log,2>&1
cette commande renvoie la sortie d'erreur vers la sortie standard et la
sortie standard vers le fichier.
Notez qu'on ne peut pas renvoyer à la fois la sortie d'erreur et la sortie
standard vers le fichier. En effet, le même fichier ne peut pas être ouvert
2 fois en écriture.
Bon script.
NyGL
"Vincent J." <nospam@truc.fr> wrote in message
news:%234%23840fXGHA.3448@TK2MSFTNGP03.phx.gbl...
Bonjour,
Sur un serveur, j'ai un .bat qui me copie certains répertoires durant la
nuit sur un disque amovible.
Pour la copie de ces répertoires, j'utilise la syntaxe:
xcopy /D /E /I /H /R /Y c:toto*.* e:toto >> c:save.log
Un "journal" est ainsi généré lors de la copie où je peux voir le nombre
ainsi que le nom des fichiers copiés.
Mon seul soucis c'est que la synthaxe >>c:save.log ne me répercute pas
les messages d'erreurs lors de la copie.
Par exemple, j'ai actuellement le disque dur amovible qui est plein.
Dans le c:save.log, il ne me répercute juste le fait qu'il n'y a pas de
fichier copié.
Alors que si je passe par cmd, avec la commande xcopy /D /E /I /H /R /Y
c:toto*.* e:toto, là il me dit 0 fichiers copiés mais également "Espace
disque insuffisant".
Comment faire pour qu'il me récupere l'info "Espace disque insuffisant"
sur mon fichier c:save.log ?
Si la chose est possible ?
la syntaxe commande>>fichier.log ou commande 1>>fichier.log ne renvoie que la sortie standard vers le fichier. La sortie d'erreur n'est pas renvoyée et c'est pour ça qu'elle s'affiche sur la console.
Pour renvoyer la sortie d'erreur, il faut faire comme suit : commande 2>>fichier.log mais cette commande ne renvoie que la sortie d'erreur. Tous les messages de la ligne de commande sont affichés sur la console.
Pour rediriger les sorties standard et d'erreur il faut procéder de la sorte : commande 1>>fichier.log,2>&1
cette commande renvoie la sortie d'erreur vers la sortie standard et la sortie standard vers le fichier. Notez qu'on ne peut pas renvoyer à la fois la sortie d'erreur et la sortie standard vers le fichier. En effet, le même fichier ne peut pas être ouvert 2 fois en écriture.
Bon script.
NyGL
"Vincent J." wrote in message news:%234%
Bonjour,
Sur un serveur, j'ai un .bat qui me copie certains répertoires durant la nuit sur un disque amovible.
Pour la copie de ces répertoires, j'utilise la syntaxe: xcopy /D /E /I /H /R /Y c:toto*.* e:toto >> c:save.log
Un "journal" est ainsi généré lors de la copie où je peux voir le nombre ainsi que le nom des fichiers copiés.
Mon seul soucis c'est que la synthaxe >>c:save.log ne me répercute pas les messages d'erreurs lors de la copie. Par exemple, j'ai actuellement le disque dur amovible qui est plein. Dans le c:save.log, il ne me répercute juste le fait qu'il n'y a pas de fichier copié. Alors que si je passe par cmd, avec la commande xcopy /D /E /I /H /R /Y c:toto*.* e:toto, là il me dit 0 fichiers copiés mais également "Espace disque insuffisant".
Comment faire pour qu'il me récupere l'info "Espace disque insuffisant" sur mon fichier c:save.log ? Si la chose est possible ?