Question
Exploitation log Robocopy
- Xavier
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 9
- Remerciements reçus 0
il y a 12 ans 1 mois #16815
par Xavier
Exploitation log Robocopy a été créé par Xavier
Bonjour,
j'aimerais rendre plus claire le résultat de mon script powershell à la console.
En bref j'aimerais pouvoir mettre de la couleur sur les différentes lignes de mon tableau de type \"Format-table\" (ci-joint les exemples de lignes que j'aimerais mettre dans une autre couleur.
Comment dois-je m'y prendre?
Message édité par: Xavy, à: 24/01/14 11:52<br><br>Message édité par: Xavy, à: 24/01/14 11:54
j'aimerais rendre plus claire le résultat de mon script powershell à la console.
En bref j'aimerais pouvoir mettre de la couleur sur les différentes lignes de mon tableau de type \"Format-table\" (ci-joint les exemples de lignes que j'aimerais mettre dans une autre couleur.
Comment dois-je m'y prendre?
Message édité par: Xavy, à: 24/01/14 11:52<br><br>Message édité par: Xavy, à: 24/01/14 11:54
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Xavier
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 9
- Remerciements reçus 0
il y a 12 ans 1 mois #16816
par Xavier
Réponse de Xavier sur le sujet Re:Exploitation log Robocopy
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 12 ans 1 mois #16817
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Exploitation log Robocopy
Salut,
Xavy écrit:
Sinon il te faudra réécrire ce type de formatage, qui doit exister sur le net, reste à savoir où
Xavy écrit:
Puisque tu souhaites associer une couleur à un statut, tu peux déjà consulter ce post .Comment dois-je m'y prendre?
Sinon il te faudra réécrire ce type de formatage, qui doit exister sur le net, reste à savoir où
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Xavier
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 9
- Remerciements reçus 0
il y a 12 ans 1 mois #16818
par Xavier
Réponse de Xavier sur le sujet Re:Exploitation log Robocopy
Merci.
Hmm, je sens que je vais galérer grave !
Hmm, je sens que je vais galérer grave !
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 12 ans 1 mois #16819
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Exploitation log Robocopy
Xavy écrit:
Il te faut,je pense, gérer les errorlevel de l'exécutable.
Cela dépend de la manière dont tu as codé autour des logs de RoboCopy...Hmm, je sens que je vais galérer grave !
Il te faut,je pense, gérer les errorlevel de l'exécutable.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Xavier
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 9
- Remerciements reçus 0
il y a 12 ans 1 mois #16822
par Xavier
Réponse de Xavier sur le sujet Re:Exploitation log Robocopy
Voici mon code :
[code:1]#fichier contenant les variables
$resultat = Get-Content C:\Users\robertx\Desktop\script\source_destination.txt | ForEach-Object {
#propriété de lecture du fichier
$O=New-Object PSObject -Property @{
Debut=Get-Date -Format T;
Fin=$Null;
ExitCode=0;
Etat=$Null
Source=$_
}
#Exécution de la commande : XF ==> exclusion d'un fichier ; XD ==> exclusion d'un repertoire
robocopy $O.Source /MIR /SEC /R:1 /W:1 /XF \"C:\Users\robertx\Desktop\Cartographies 2013\sauvegarde.vsd\" /XD \"C:\Users\robertx\Desktop\Cartographies 2013\good\" /log+:d:\log.txt /NJH /NFL /NDL /TEE
#Exploitation des codes de robocopy
if ($LASTEXITCODE -eq 0)
{
$O.ExitCode = \"Copie OK. Aucun changement.\"
$O.Etat = \"SUCCESS\"
}
elseif ($LASTEXITCODE -eq 1)
{
$O.ExitCode = \"Copie OK. Un ou plusieurs fichiers ont été copiés avec succès du répertoire source au répertoire
de destination.\"
$O.Etat = \"SUCESS\"
}
elseif ($LASTEXITCODE -eq 2)
{
$O.ExitCode = \"Copie OK. Certains fichiers ou répertoires supplémentaires ont été détectés et copiés avec succès.\"
$O.Etat = \"SUCESS\"
}
elseif ($LASTEXITCODE -eq 3)
{
$O.ExitCode = \"Copie OK. Certains fichiers supplémentaires ont été copiés avec succès.\"
$O.Etat = \"SUCCESS\"
}
elseif ($LASTEXITCODE -eq 4)
{
$O.ExitCode = \"Copie OK. Une incohérence entre la source et la destination de la sauvegarde a été détectée.\"
$O.Etat = \"WARNING\"
}
elseif ($LASTEXITCODE -eq 5)
{
$O.ExitCode = \"Copie OK. Certains fichiers ont été copiés et d'autres ont généré une incohérence entre la source
et la destination.\"
$O.Etat = \"WARNING\"
}
elseif ($LASTEXITCODE -eq 6)
{
$O.ExitCode = \"Copie OK. Certains fichiers et dossiers suplémentaires ont généré une incohérence entre la source
et la destination.\"
$O.Etat = \"WARNING\"
}
elseif ($LASTEXITCODE -eq 7)
{
$O.ExitCode = \"Copie OK. Certains fichiers présents et supplémentaires on générés une incohérence entre la source
et la destination.\"
$O.Etat = \"WARNING\"
}
elseif ($LASTEXITCODE -ge 8)
{
$O.ExitCode = \"Echec de la copie.\"
$O.Etat = \"CRITICAL\"
}
Else
{
$O.ExitCode = \"Le code de sortie est inconnue\"
$O.Etat = \"UNKNOWN\"
}
$O.Fin = Get-Date -Format T
$O
}
#résultat de la commande sous forme de tableau
$resultat | Format-Table Source, Etat, Debut, Fin, Exitcode -auto
#write-host -Foregroundcolor \"red\" $res
#write-host -Foregroundcolor \"red\" $resultat | Format-Table Source, Etat, Debut, Fin, test -auto
[/code:1]
En terme de contenu, en lui même je suis satisfait de ce script, cependant en terme d'affichage à la console j'ai vraiment du mal. Je ne maîtrise pas le /TEE de robocopy avec powershell, ça part dans tous les sens... J'aimerais que l'affichage de mon résultat soit claire et nette, pouvoir inscrire le /TEE de robocopy dans un tableau serait un réel + pour moi.
[code:1]#fichier contenant les variables
$resultat = Get-Content C:\Users\robertx\Desktop\script\source_destination.txt | ForEach-Object {
#propriété de lecture du fichier
$O=New-Object PSObject -Property @{
Debut=Get-Date -Format T;
Fin=$Null;
ExitCode=0;
Etat=$Null
Source=$_
}
#Exécution de la commande : XF ==> exclusion d'un fichier ; XD ==> exclusion d'un repertoire
robocopy $O.Source /MIR /SEC /R:1 /W:1 /XF \"C:\Users\robertx\Desktop\Cartographies 2013\sauvegarde.vsd\" /XD \"C:\Users\robertx\Desktop\Cartographies 2013\good\" /log+:d:\log.txt /NJH /NFL /NDL /TEE
#Exploitation des codes de robocopy
if ($LASTEXITCODE -eq 0)
{
$O.ExitCode = \"Copie OK. Aucun changement.\"
$O.Etat = \"SUCCESS\"
}
elseif ($LASTEXITCODE -eq 1)
{
$O.ExitCode = \"Copie OK. Un ou plusieurs fichiers ont été copiés avec succès du répertoire source au répertoire
de destination.\"
$O.Etat = \"SUCESS\"
}
elseif ($LASTEXITCODE -eq 2)
{
$O.ExitCode = \"Copie OK. Certains fichiers ou répertoires supplémentaires ont été détectés et copiés avec succès.\"
$O.Etat = \"SUCESS\"
}
elseif ($LASTEXITCODE -eq 3)
{
$O.ExitCode = \"Copie OK. Certains fichiers supplémentaires ont été copiés avec succès.\"
$O.Etat = \"SUCCESS\"
}
elseif ($LASTEXITCODE -eq 4)
{
$O.ExitCode = \"Copie OK. Une incohérence entre la source et la destination de la sauvegarde a été détectée.\"
$O.Etat = \"WARNING\"
}
elseif ($LASTEXITCODE -eq 5)
{
$O.ExitCode = \"Copie OK. Certains fichiers ont été copiés et d'autres ont généré une incohérence entre la source
et la destination.\"
$O.Etat = \"WARNING\"
}
elseif ($LASTEXITCODE -eq 6)
{
$O.ExitCode = \"Copie OK. Certains fichiers et dossiers suplémentaires ont généré une incohérence entre la source
et la destination.\"
$O.Etat = \"WARNING\"
}
elseif ($LASTEXITCODE -eq 7)
{
$O.ExitCode = \"Copie OK. Certains fichiers présents et supplémentaires on générés une incohérence entre la source
et la destination.\"
$O.Etat = \"WARNING\"
}
elseif ($LASTEXITCODE -ge 8)
{
$O.ExitCode = \"Echec de la copie.\"
$O.Etat = \"CRITICAL\"
}
Else
{
$O.ExitCode = \"Le code de sortie est inconnue\"
$O.Etat = \"UNKNOWN\"
}
$O.Fin = Get-Date -Format T
$O
}
#résultat de la commande sous forme de tableau
$resultat | Format-Table Source, Etat, Debut, Fin, Exitcode -auto
#write-host -Foregroundcolor \"red\" $res
#write-host -Foregroundcolor \"red\" $resultat | Format-Table Source, Etat, Debut, Fin, test -auto
[/code:1]
En terme de contenu, en lui même je suis satisfait de ce script, cependant en terme d'affichage à la console j'ai vraiment du mal. Je ne maîtrise pas le /TEE de robocopy avec powershell, ça part dans tous les sens... J'aimerais que l'affichage de mon résultat soit claire et nette, pouvoir inscrire le /TEE de robocopy dans un tableau serait un réel + pour moi.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.053 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Exploitation log Robocopy