Question [Résolu] Script powershell robocopy

Plus d'informations
il y a 13 ans 2 mois #13500 par phiphi917
Bonjour,

Je voudrais faire un script pour pouvoir lancer des robocopy (plusieurs sources et destinations).

Mon idée c'est de faire un fichier.txt
source1 : destination1
source2 : destination2
source1 : destination3

Je voudrais que mon script powershell fasse :

1) un robocopy de chaque ligne
2) récupérer le code de sortie pour lui associé un état (SUCESS/WARNING/CRITICAL)
3) créer un tableau résumé (source/destination/état/description/heure_début/heure_fin)

Je suis débutant, j'avance pas à pas. J'ai parcouru le forum et je me suis inspiré d'un code.

Voilà où j'en suis :
1) J'arrive à récupérer chaque ligne du fichier.txt
passer de
source1 : destination1
à
robocopy source1 destination1

[code:1]Get-Content d:\texte.txt | ForEach-Object {$_ -replace '^(.*)$','robocopy $0 /MIR /MT /NP'}[/code:1]

2) J'arrive à récupérer le code de sortie avec $LASTEXITCODE

Je fais une boucle if :

if ($LASTEXITCODE -eq 0)
{
echo \"SUCESS\"
}
etc...

3) Pour générer un résumé de tous les robocopy, je n'ai pas de piste...

Mes questions :
a) Est-ce que mon idée est réalisable ?
b) Comment fusionner l'étape 1 et 2 ? C'est à dire comment récupérer le $LASTEXITCODE après chaque ligne exécuté ?
c) Est-ce que vous avez une idée pour la création d'un résumé ou de tableau ?

Merci d'avance

Message édité par: phiphi917, à: 3/01/13 11:56<br><br>Message édité par: phiphi917, à: 9/01/13 17:25

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

Plus d'informations
il y a 13 ans 2 mois #13501 par SiSMik
Réponse de SiSMik sur le sujet Re:Script powershell robocopy
Salut,

Le problème a déjà été abordé sur ce forum

=&gt; regarde ça

Bon courage.

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

Plus d'informations
il y a 13 ans 2 mois #13502 par phiphi917
Réponse de phiphi917 sur le sujet Re:Script powershell robocopy
Merci pour ton lien.

Je m'étais inspiré de celui-ci pour essayer de faire le mien.

Cependant lui récupère le $LASTEXITCODE de deux robocopy tandis que moi je voudrais en récupérer au moins 10...

Mon but étant de générer un fichier qui fait le résumé de l'ensemble des robocopy.

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

Plus d'informations
il y a 13 ans 2 mois #13503 par phiphi917
Réponse de phiphi917 sur le sujet Re:Script powershell robocopy
je viens de trouver ce sujet powershell-scripting.com/index.php?optio...id=13368&catid=5

J'espère que sa va m'aider

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

Plus d'informations
il y a 13 ans 2 mois #13504 par Laurent Dardenne
Salut,
phiphi917 écrit:

Mes questions :
a) Est-ce que mon idée est réalisable ?

Oui si tu as du temps.
phiphi917 écrit:

Mes questions :
b) Comment fusionner l'étape 1 et 2 ? C'est à dire comment récupérer le $LASTEXITCODE après chaque ligne exécuté ?

Exécute le programme pour chaque ligne.
phiphi917 écrit:

Mes questions :
c) Est-ce que vous avez une idée pour la création d'un résumé ou de tableau ?

Non, mais un principe de concpetion sous PS.
Crée un objet résultat à chaque itération et collecte le tout. Ensuite tu pourras le formater à ta convenance.

Il reste possible d'utiliser les logs de Robocopy, ce qui t'éviterais de recoder un traitement .

Tutoriels PowerShell

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

Plus d'informations
il y a 13 ans 2 mois #13505 par phiphi917
Réponse de phiphi917 sur le sujet Re:Script powershell robocopy
Est-ce que tu peux me dire plus sur ta solution pour récupérer le $LASTEXITCODE de chaque commande?

Je me retrouve avec mon fichier texte.txt qui contient :
source1 destination1
source2 destination2
source1 destination3


[code:1]Get-Content d:\texte.txt | ForEach-Object -begin {Get-Date -Format T &gt;&gt; D:\time.txt} -process {robocopy $_ /MIR /NP} -end {Get-Date -Format T &gt;&gt; D:\time.txt}[/code:1]

J'ai redirigé vers un fichier time.txt pour voir le résultat.

Au lieu d'avoir l'heure de début et de fin de chaque robocopy, j'ai le temps de début et de fin de l'ensemble.

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

Temps de génération de la page : 0.054 secondes
Propulsé par Kunena