Question
[Résolu] Script powershell robocopy
- phiphi917
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 27
- Remerciements reçus 0
il y a 13 ans 2 mois #13500
par phiphi917
[Résolu] Script powershell robocopy a été créé 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
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.
- SiSMik
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 492
- Remerciements reçus 0
il y a 13 ans 2 mois #13501
par SiSMik
Réponse de SiSMik sur le sujet Re:Script powershell robocopy
Connexion ou Créer un compte pour participer à la conversation.
- phiphi917
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 27
- Remerciements reçus 0
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.
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.
- phiphi917
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 27
- Remerciements reçus 0
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
J'espère que sa va m'aider
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 13 ans 2 mois #13504
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Script powershell robocopy
Salut,
phiphi917 écrit:
phiphi917 écrit:
phiphi917 écrit:
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 .
phiphi917 écrit:
Oui si tu as du temps.Mes questions :
a) Est-ce que mon idée est réalisable ?
phiphi917 écrit:
Exécute le programme pour chaque ligne.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é ?
phiphi917 écrit:
Non, mais un principe de concpetion sous PS.Mes questions :
c) Est-ce que vous avez une idée pour la création d'un résumé ou de tableau ?
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.
- phiphi917
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 27
- Remerciements reçus 0
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 >> D:\time.txt} -process {robocopy $_ /MIR /NP} -end {Get-Date -Format T >> 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.
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 >> D:\time.txt} -process {robocopy $_ /MIR /NP} -end {Get-Date -Format T >> 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
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu] Script powershell robocopy