Question
Exit Code Robocopy
- Olivier
- Auteur du sujet
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 182
- Remerciements reçus 0
il y a 15 ans 2 mois #9116
par Olivier
Exit Code Robocopy a été créé par Olivier
Bonjour à tous !
Suis en train de monter un script de sauvegarde et d'envoi de mail à la fin du script.
Je rencontre un problème lors de la génération du contenu du mail ...
Ce qui fonctionne
[code:1]$ExitCodeA = 2
$ExitCodeB = 6
$ExitCode = @{
\"16\"=\"Erreur fatale lors de l'opération. Voir fichier de Log\"
\"15\"=\"Echec de la copie. Voir le fichier de Log.\"
\"14\"=\"Echec de la copie. Voir le fichier de Log.\"
\"13\"=\"Echec de la copie. Voir le fichier de Log.\"
\"12\"=\"Echec de la copie. Voir le fichier de Log.\"
\"11\"=\"Echec de la copie. Voir le fichier de Log.\"
\"10\"=\"Echec de la copie. Voir le fichier de Log.\"
\"9\"=\"Echec de la copie. Voir le fichier de Log.\"
\"8\"=\"Echec de la copie. Plisieurs fichiers n'ont pas été copiés. Voir le fichier de Log.\"
\"7\"=\"Copie OK. Certains fichiers présents et supplémentaires on générés une incohérence entre la source et la destination. Voir le fichier de Log.\"
\"6\"=\"Copie OK. Certains fichiers et dossiers suplémentaires ont génété une incohérence entre la source et la destination. Voir le fichier de Log.\"
\"5\"=\"Copie OK. Certains fichiers ont été copiés et d'autres ont généré une incohérence entre la source et la destination. Voir le fichier de Log.\"
\"4\"=\"Copie OK. Une incohérence entre la source et la destination de la sauvegarde a été détectée. Voir le fichier de Log.\"
\"3\"=\"Copie OK. Certains fichiers supplémentaires ont été copiés avec succès.\"
\"2\"=\"Copie OK. Certains fichiers ou répertoires supplémentaires ont été détectés et copiés avec succès.\"
\"1\"=\"Copie OK. Un ou plusieurs fichiers ont été copiés avec succès du répertoire source au répertoire de destination.\"
\"0\"=\"Copie OK. Aucun changement. Le répertoire source était identique au répertoire de destination.\"
}
Write-Host \"l'erreur rencontrée fut la suivante`n`n`
\"$ExitCode[\"$ExitCodeA\"][/code:1]
Maintenant, je voudrais mettre le texte dans une variable et là, ça ne fonctionne pas :
[code:1]$ExitCodeA = 2
$ExitCodeB = 6
$ExitCode = @{
\"16\"=\"Erreur fatale lors de l'opération. Voir fichier de Log\"
\"15\"=\"Echec de la copie. Voir le fichier de Log.\"
\"14\"=\"Echec de la copie. Voir le fichier de Log.\"
\"13\"=\"Echec de la copie. Voir le fichier de Log.\"
\"12\"=\"Echec de la copie. Voir le fichier de Log.\"
\"11\"=\"Echec de la copie. Voir le fichier de Log.\"
\"10\"=\"Echec de la copie. Voir le fichier de Log.\"
\"9\"=\"Echec de la copie. Voir le fichier de Log.\"
\"8\"=\"Echec de la copie. Plisieurs fichiers n'ont pas été copiés. Voir le fichier de Log.\"
\"7\"=\"Copie OK. Certains fichiers présents et supplémentaires on générés une incohérence entre la source et la destination. Voir le fichier de Log.\"
\"6\"=\"Copie OK. Certains fichiers et dossiers suplémentaires ont génété une incohérence entre la source et la destination. Voir le fichier de Log.\"
\"5\"=\"Copie OK. Certains fichiers ont été copiés et d'autres ont généré une incohérence entre la source et la destination. Voir le fichier de Log.\"
\"4\"=\"Copie OK. Une incohérence entre la source et la destination de la sauvegarde a été détectée. Voir le fichier de Log.\"
\"3\"=\"Copie OK. Certains fichiers supplémentaires ont été copiés avec succès.\"
\"2\"=\"Copie OK. Certains fichiers ou répertoires supplémentaires ont été détectés et copiés avec succès.\"
\"1\"=\"Copie OK. Un ou plusieurs fichiers ont été copiés avec succès du répertoire source au répertoire de destination.\"
\"0\"=\"Copie OK. Aucun changement. Le répertoire source était identique au répertoire de destination.\"
}
$Mail = \"l'erreur rencontrée fut la suivante`n`nA`n\"$ExitCode[\"$ExitCodeA\"]\"`n`nB`n\"\"$ExitCode[\"$ExitCodeB\"]\"
[/code:1]
Par contre, si je passe comme suit, ça fonctionne sans erreur :
[code:1]$ExitCodeA = 2
$ExitCodeB = 6
$ExitCode = @{
\"16\"=\"Erreur fatale lors de l'opération. Voir fichier de Log\"
\"15\"=\"Echec de la copie. Voir le fichier de Log.\"
\"14\"=\"Echec de la copie. Voir le fichier de Log.\"
\"13\"=\"Echec de la copie. Voir le fichier de Log.\"
\"12\"=\"Echec de la copie. Voir le fichier de Log.\"
\"11\"=\"Echec de la copie. Voir le fichier de Log.\"
\"10\"=\"Echec de la copie. Voir le fichier de Log.\"
\"9\"=\"Echec de la copie. Voir le fichier de Log.\"
\"8\"=\"Echec de la copie. Plisieurs fichiers n'ont pas été copiés. Voir le fichier de Log.\"
\"7\"=\"Copie OK. Certains fichiers présents et supplémentaires on générés une incohérence entre la source et la destination. Voir le fichier de Log.\"
\"6\"=\"Copie OK. Certains fichiers et dossiers suplémentaires ont génété une incohérence entre la source et la destination. Voir le fichier de Log.\"
\"5\"=\"Copie OK. Certains fichiers ont été copiés et d'autres ont généré une incohérence entre la source et la destination. Voir le fichier de Log.\"
\"4\"=\"Copie OK. Une incohérence entre la source et la destination de la sauvegarde a été détectée. Voir le fichier de Log.\"
\"3\"=\"Copie OK. Certains fichiers supplémentaires ont été copiés avec succès.\"
\"2\"=\"Copie OK. Certains fichiers ou répertoires supplémentaires ont été détectés et copiés avec succès.\"
\"1\"=\"Copie OK. Un ou plusieurs fichiers ont été copiés avec succès du répertoire source au répertoire de destination.\"
\"0\"=\"Copie OK. Aucun changement. Le répertoire source était identique au répertoire de destination.\"
}
Write-Host \"l'erreur rencontrée fut la suivante`n`nA`n\"$ExitCode[\"$ExitCodeA\"]\"`n`nB`n\"\"$ExitCode[\"$ExitCodeB\"]\"[/code:1]
Est-ce que vous auriez une explication sur l'erreur qui est la suivante :
[code:1]Jeton « ExitCode » inattendu dans une expression ou une instruction.
At line:23 char:53
Jeton « \"$ExitCodeA\" » inattendu dans une expression ou une instruction.
At line:23 char:62
Jeton « `n`nB`n`\"$ExitCode[ » inattendu dans une expression ou une instruction.
At line:23 char:76
Jeton « ExitCodeB » inattendu dans une expression ou une instruction.
At line:23 char:97
Jeton « ] » inattendu dans une expression ou une instruction.
At line:23 char:107[/code:1]
Un grand merci d'avance
Olivier D.
Virtual Business Card
Profile Linkedin
Suis en train de monter un script de sauvegarde et d'envoi de mail à la fin du script.
Je rencontre un problème lors de la génération du contenu du mail ...
Ce qui fonctionne
[code:1]$ExitCodeA = 2
$ExitCodeB = 6
$ExitCode = @{
\"16\"=\"Erreur fatale lors de l'opération. Voir fichier de Log\"
\"15\"=\"Echec de la copie. Voir le fichier de Log.\"
\"14\"=\"Echec de la copie. Voir le fichier de Log.\"
\"13\"=\"Echec de la copie. Voir le fichier de Log.\"
\"12\"=\"Echec de la copie. Voir le fichier de Log.\"
\"11\"=\"Echec de la copie. Voir le fichier de Log.\"
\"10\"=\"Echec de la copie. Voir le fichier de Log.\"
\"9\"=\"Echec de la copie. Voir le fichier de Log.\"
\"8\"=\"Echec de la copie. Plisieurs fichiers n'ont pas été copiés. Voir le fichier de Log.\"
\"7\"=\"Copie OK. Certains fichiers présents et supplémentaires on générés une incohérence entre la source et la destination. Voir le fichier de Log.\"
\"6\"=\"Copie OK. Certains fichiers et dossiers suplémentaires ont génété une incohérence entre la source et la destination. Voir le fichier de Log.\"
\"5\"=\"Copie OK. Certains fichiers ont été copiés et d'autres ont généré une incohérence entre la source et la destination. Voir le fichier de Log.\"
\"4\"=\"Copie OK. Une incohérence entre la source et la destination de la sauvegarde a été détectée. Voir le fichier de Log.\"
\"3\"=\"Copie OK. Certains fichiers supplémentaires ont été copiés avec succès.\"
\"2\"=\"Copie OK. Certains fichiers ou répertoires supplémentaires ont été détectés et copiés avec succès.\"
\"1\"=\"Copie OK. Un ou plusieurs fichiers ont été copiés avec succès du répertoire source au répertoire de destination.\"
\"0\"=\"Copie OK. Aucun changement. Le répertoire source était identique au répertoire de destination.\"
}
Write-Host \"l'erreur rencontrée fut la suivante`n`n`
\"$ExitCode[\"$ExitCodeA\"][/code:1]
Maintenant, je voudrais mettre le texte dans une variable et là, ça ne fonctionne pas :
[code:1]$ExitCodeA = 2
$ExitCodeB = 6
$ExitCode = @{
\"16\"=\"Erreur fatale lors de l'opération. Voir fichier de Log\"
\"15\"=\"Echec de la copie. Voir le fichier de Log.\"
\"14\"=\"Echec de la copie. Voir le fichier de Log.\"
\"13\"=\"Echec de la copie. Voir le fichier de Log.\"
\"12\"=\"Echec de la copie. Voir le fichier de Log.\"
\"11\"=\"Echec de la copie. Voir le fichier de Log.\"
\"10\"=\"Echec de la copie. Voir le fichier de Log.\"
\"9\"=\"Echec de la copie. Voir le fichier de Log.\"
\"8\"=\"Echec de la copie. Plisieurs fichiers n'ont pas été copiés. Voir le fichier de Log.\"
\"7\"=\"Copie OK. Certains fichiers présents et supplémentaires on générés une incohérence entre la source et la destination. Voir le fichier de Log.\"
\"6\"=\"Copie OK. Certains fichiers et dossiers suplémentaires ont génété une incohérence entre la source et la destination. Voir le fichier de Log.\"
\"5\"=\"Copie OK. Certains fichiers ont été copiés et d'autres ont généré une incohérence entre la source et la destination. Voir le fichier de Log.\"
\"4\"=\"Copie OK. Une incohérence entre la source et la destination de la sauvegarde a été détectée. Voir le fichier de Log.\"
\"3\"=\"Copie OK. Certains fichiers supplémentaires ont été copiés avec succès.\"
\"2\"=\"Copie OK. Certains fichiers ou répertoires supplémentaires ont été détectés et copiés avec succès.\"
\"1\"=\"Copie OK. Un ou plusieurs fichiers ont été copiés avec succès du répertoire source au répertoire de destination.\"
\"0\"=\"Copie OK. Aucun changement. Le répertoire source était identique au répertoire de destination.\"
}
$Mail = \"l'erreur rencontrée fut la suivante`n`nA`n\"$ExitCode[\"$ExitCodeA\"]\"`n`nB`n\"\"$ExitCode[\"$ExitCodeB\"]\"
[/code:1]
Par contre, si je passe comme suit, ça fonctionne sans erreur :
[code:1]$ExitCodeA = 2
$ExitCodeB = 6
$ExitCode = @{
\"16\"=\"Erreur fatale lors de l'opération. Voir fichier de Log\"
\"15\"=\"Echec de la copie. Voir le fichier de Log.\"
\"14\"=\"Echec de la copie. Voir le fichier de Log.\"
\"13\"=\"Echec de la copie. Voir le fichier de Log.\"
\"12\"=\"Echec de la copie. Voir le fichier de Log.\"
\"11\"=\"Echec de la copie. Voir le fichier de Log.\"
\"10\"=\"Echec de la copie. Voir le fichier de Log.\"
\"9\"=\"Echec de la copie. Voir le fichier de Log.\"
\"8\"=\"Echec de la copie. Plisieurs fichiers n'ont pas été copiés. Voir le fichier de Log.\"
\"7\"=\"Copie OK. Certains fichiers présents et supplémentaires on générés une incohérence entre la source et la destination. Voir le fichier de Log.\"
\"6\"=\"Copie OK. Certains fichiers et dossiers suplémentaires ont génété une incohérence entre la source et la destination. Voir le fichier de Log.\"
\"5\"=\"Copie OK. Certains fichiers ont été copiés et d'autres ont généré une incohérence entre la source et la destination. Voir le fichier de Log.\"
\"4\"=\"Copie OK. Une incohérence entre la source et la destination de la sauvegarde a été détectée. Voir le fichier de Log.\"
\"3\"=\"Copie OK. Certains fichiers supplémentaires ont été copiés avec succès.\"
\"2\"=\"Copie OK. Certains fichiers ou répertoires supplémentaires ont été détectés et copiés avec succès.\"
\"1\"=\"Copie OK. Un ou plusieurs fichiers ont été copiés avec succès du répertoire source au répertoire de destination.\"
\"0\"=\"Copie OK. Aucun changement. Le répertoire source était identique au répertoire de destination.\"
}
Write-Host \"l'erreur rencontrée fut la suivante`n`nA`n\"$ExitCode[\"$ExitCodeA\"]\"`n`nB`n\"\"$ExitCode[\"$ExitCodeB\"]\"[/code:1]
Est-ce que vous auriez une explication sur l'erreur qui est la suivante :
[code:1]Jeton « ExitCode » inattendu dans une expression ou une instruction.
At line:23 char:53
Jeton « \"$ExitCodeA\" » inattendu dans une expression ou une instruction.
At line:23 char:62
Jeton « `n`nB`n`\"$ExitCode[ » inattendu dans une expression ou une instruction.
At line:23 char:76
Jeton « ExitCodeB » inattendu dans une expression ou une instruction.
At line:23 char:97
Jeton « ] » inattendu dans une expression ou une instruction.
At line:23 char:107[/code:1]
Un grand merci d'avance
Olivier D.
Virtual Business Card
Profile Linkedin
Connexion ou Créer un compte pour participer à la conversation.
- Jacques Barathon
- Hors Ligne
- Administrateur
-
Réduire
Plus d'informations
- Messages : 576
- Remerciements reçus 0
il y a 15 ans 2 mois #9121
par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:Exit Code Robocopy
Dans le premier cas, tu essaies de faire une concaténation de plusieurs chaînes sans aucun opérateur entre elles :
[code:1]
$mail = \"blabla\" $code \"etc\"
# Erreur !
[/code:1]
Il faut indiquer la concaténation avec le signe + entre les différentes chaînes (littérales ou variables) :
[code:1]
$mail = \"blabla\" + $code + \"etc\"
# Ok !
[/code:1]
Ca marche dans ton 2e exemple parce que la commande write-host fait la concaténation implicitement. Elle a d'ailleurs un paramètre -separator qui est justement là pour préciser un texte particulier à utiliser entre les différents éléments à afficher :
[code:1]
PS> $coderef = @{\"0\"=\"Succès\"}
PS> $exitcode = 0
PS> write-host \"Code de sortie\" $exitcode $coderef[\"$exitcode\"] -separator \"==>\"
Code de sortie==>0==>Succès
[/code:1]
[code:1]
$mail = \"blabla\" $code \"etc\"
# Erreur !
[/code:1]
Il faut indiquer la concaténation avec le signe + entre les différentes chaînes (littérales ou variables) :
[code:1]
$mail = \"blabla\" + $code + \"etc\"
# Ok !
[/code:1]
Ca marche dans ton 2e exemple parce que la commande write-host fait la concaténation implicitement. Elle a d'ailleurs un paramètre -separator qui est justement là pour préciser un texte particulier à utiliser entre les différents éléments à afficher :
[code:1]
PS> $coderef = @{\"0\"=\"Succès\"}
PS> $exitcode = 0
PS> write-host \"Code de sortie\" $exitcode $coderef[\"$exitcode\"] -separator \"==>\"
Code de sortie==>0==>Succès
[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Olivier
- Auteur du sujet
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 182
- Remerciements reçus 0
il y a 15 ans 2 mois #9125
par Olivier
Réponse de Olivier sur le sujet Re:Exit Code Robocopy
Merci Janel pour ta réponse !
Perfect !!!
Voici mon bout de code corrigé ...
[code:1]$ExitCodeA = 2
$ExitCodeB = 6
$ExitCode = @{
\"16\"=\"Erreur fatale lors de l'opération. Voir fichier de Log\"
\"15\"=\"Echec de la copie. Voir le fichier de Log.\"
\"14\"=\"Echec de la copie. Voir le fichier de Log.\"
\"13\"=\"Echec de la copie. Voir le fichier de Log.\"
\"12\"=\"Echec de la copie. Voir le fichier de Log.\"
\"11\"=\"Echec de la copie. Voir le fichier de Log.\"
\"10\"=\"Echec de la copie. Voir le fichier de Log.\"
\"9\"=\"Echec de la copie. Voir le fichier de Log.\"
\"8\"=\"Echec de la copie. Plisieurs fichiers n'ont pas été copiés. Voir le fichier de Log.\"
\"7\"=\"Copie OK. Certains fichiers présents et supplémentaires on générés une incohérence entre la source et la destination. Voir le fichier de Log.\"
\"6\"=\"Copie OK. Certains fichiers et dossiers suplémentaires ont génété une incohérence entre la source et la destination. Voir le fichier de Log.\"
\"5\"=\"Copie OK. Certains fichiers ont été copiés et d'autres ont généré une incohérence entre la source et la destination. Voir le fichier de Log.\"
\"4\"=\"Copie OK. Une incohérence entre la source et la destination de la sauvegarde a été détectée. Voir le fichier de Log.\"
\"3\"=\"Copie OK. Certains fichiers supplémentaires ont été copiés avec succès.\"
\"2\"=\"Copie OK. Certains fichiers ou répertoires supplémentaires ont été détectés et copiés avec succès.\"
\"1\"=\"Copie OK. Un ou plusieurs fichiers ont été copiés avec succès du répertoire source au répertoire de destination.\"
\"0\"=\"Copie OK. Aucun changement. Le répertoire source était identique au répertoire de destination.\"
}
$Mail = \"l'erreur rencontrée fut la suivante`n`nA`n\"+$ExitCode[\"$ExitCodeA\"]+\"`n`nB`n\"+$ExitCode[\"$ExitCodeB\"]
$Mail[/code:1]
Contenu du $mail.body :
[code:1]l'erreur rencontrée fut la suivante
A
Copie OK. Certains fichiers ou répertoires supplémentaires ont été détectés et copiés avec succès.
B
Copie OK. Certains fichiers et dossiers suplémentaires ont génété une incohérence entre la source et la destination. Voir le fichier de Log.
[/code:1]
Je posterais prochainement mon code complet de backup et mail de notification
Merci encore et à +
Olivier D.
Virtual Business Card
Profile Linkedin <br><br>Message édité par: Olivier, à: 9/03/11 15:21
Voici mon bout de code corrigé ...
[code:1]$ExitCodeA = 2
$ExitCodeB = 6
$ExitCode = @{
\"16\"=\"Erreur fatale lors de l'opération. Voir fichier de Log\"
\"15\"=\"Echec de la copie. Voir le fichier de Log.\"
\"14\"=\"Echec de la copie. Voir le fichier de Log.\"
\"13\"=\"Echec de la copie. Voir le fichier de Log.\"
\"12\"=\"Echec de la copie. Voir le fichier de Log.\"
\"11\"=\"Echec de la copie. Voir le fichier de Log.\"
\"10\"=\"Echec de la copie. Voir le fichier de Log.\"
\"9\"=\"Echec de la copie. Voir le fichier de Log.\"
\"8\"=\"Echec de la copie. Plisieurs fichiers n'ont pas été copiés. Voir le fichier de Log.\"
\"7\"=\"Copie OK. Certains fichiers présents et supplémentaires on générés une incohérence entre la source et la destination. Voir le fichier de Log.\"
\"6\"=\"Copie OK. Certains fichiers et dossiers suplémentaires ont génété une incohérence entre la source et la destination. Voir le fichier de Log.\"
\"5\"=\"Copie OK. Certains fichiers ont été copiés et d'autres ont généré une incohérence entre la source et la destination. Voir le fichier de Log.\"
\"4\"=\"Copie OK. Une incohérence entre la source et la destination de la sauvegarde a été détectée. Voir le fichier de Log.\"
\"3\"=\"Copie OK. Certains fichiers supplémentaires ont été copiés avec succès.\"
\"2\"=\"Copie OK. Certains fichiers ou répertoires supplémentaires ont été détectés et copiés avec succès.\"
\"1\"=\"Copie OK. Un ou plusieurs fichiers ont été copiés avec succès du répertoire source au répertoire de destination.\"
\"0\"=\"Copie OK. Aucun changement. Le répertoire source était identique au répertoire de destination.\"
}
$Mail = \"l'erreur rencontrée fut la suivante`n`nA`n\"+$ExitCode[\"$ExitCodeA\"]+\"`n`nB`n\"+$ExitCode[\"$ExitCodeB\"]
$Mail[/code:1]
Contenu du $mail.body :
[code:1]l'erreur rencontrée fut la suivante
A
Copie OK. Certains fichiers ou répertoires supplémentaires ont été détectés et copiés avec succès.
B
Copie OK. Certains fichiers et dossiers suplémentaires ont génété une incohérence entre la source et la destination. Voir le fichier de Log.
[/code:1]
Je posterais prochainement mon code complet de backup et mail de notification
Merci encore et à +
Olivier D.
Virtual Business Card
Profile Linkedin <br><br>Message édité par: Olivier, à: 9/03/11 15:21
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.038 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Exit Code Robocopy