Question Exploitation log Robocopy

Plus d'informations
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

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 1 mois #16816 par Xavier
Réponse de Xavier sur le sujet Re:Exploitation log Robocopy
l'image
Pièces jointes :

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 1 mois #16817 par Laurent Dardenne
Salut,
Xavy écrit:

Comment dois-je m'y prendre?

Puisque tu souhaites associer une couleur à un statut, tu peux déjà consulter ce post .
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.

Plus d'informations
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 !

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 1 mois #16819 par Laurent Dardenne
Xavy écrit:

Hmm, je sens que je vais galérer grave !

Cela dépend de la manière dont tu as codé autour des logs de RoboCopy...
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.

Plus d'informations
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 ==&gt; exclusion d'un fichier ; XD ==&gt; exclusion d'un repertoire


robocopy $O.Source /MIR /SEC /R:1 /W:1 /XF \&quot;C:\Users\robertx\Desktop\Cartographies 2013\sauvegarde.vsd\&quot; /XD \&quot;C:\Users\robertx\Desktop\Cartographies 2013\good\&quot; /log+:d:\log.txt /NJH /NFL /NDL /TEE


#Exploitation des codes de robocopy
if ($LASTEXITCODE -eq 0)
{
$O.ExitCode = \&quot;Copie OK. Aucun changement.\&quot;
$O.Etat = \&quot;SUCCESS\&quot;
}
elseif ($LASTEXITCODE -eq 1)
{
$O.ExitCode = \&quot;Copie OK. Un ou plusieurs fichiers ont été copiés avec succès du répertoire source au répertoire
de destination.\&quot;
$O.Etat = \&quot;SUCESS\&quot;
}
elseif ($LASTEXITCODE -eq 2)
{
$O.ExitCode = \&quot;Copie OK. Certains fichiers ou répertoires supplémentaires ont été détectés et copiés avec succès.\&quot;
$O.Etat = \&quot;SUCESS\&quot;
}
elseif ($LASTEXITCODE -eq 3)
{
$O.ExitCode = \&quot;Copie OK. Certains fichiers supplémentaires ont été copiés avec succès.\&quot;
$O.Etat = \&quot;SUCCESS\&quot;
}
elseif ($LASTEXITCODE -eq 4)
{
$O.ExitCode = \&quot;Copie OK. Une incohérence entre la source et la destination de la sauvegarde a été détectée.\&quot;
$O.Etat = \&quot;WARNING\&quot;
}
elseif ($LASTEXITCODE -eq 5)
{
$O.ExitCode = \&quot;Copie OK. Certains fichiers ont été copiés et d'autres ont généré une incohérence entre la source
et la destination.\&quot;
$O.Etat = \&quot;WARNING\&quot;
}
elseif ($LASTEXITCODE -eq 6)
{
$O.ExitCode = \&quot;Copie OK. Certains fichiers et dossiers suplémentaires ont généré une incohérence entre la source
et la destination.\&quot;
$O.Etat = \&quot;WARNING\&quot;
}
elseif ($LASTEXITCODE -eq 7)
{
$O.ExitCode = \&quot;Copie OK. Certains fichiers présents et supplémentaires on générés une incohérence entre la source
et la destination.\&quot;
$O.Etat = \&quot;WARNING\&quot;
}
elseif ($LASTEXITCODE -ge 8)
{
$O.ExitCode = \&quot;Echec de la copie.\&quot;
$O.Etat = \&quot;CRITICAL\&quot;
}
Else
{
$O.ExitCode = \&quot;Le code de sortie est inconnue\&quot;
$O.Etat = \&quot;UNKNOWN\&quot;
}

$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 \&quot;red\&quot; $res

#write-host -Foregroundcolor \&quot;red\&quot; $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
Propulsé par Kunena