Question Attendre la fin d'une instruction (Résolu)

Plus d'informations
il y a 13 ans 6 mois #488 par Jeel
Bonjour,
je désire non seulement lancer un backup avec PowerShell mais aussi récupérer le fichiers log après l'exécution du backup. Je constate que PowerShell n'attends pas la fin du backup, il continu directement les autres instructions.
Comment faire pour le forcer à attendre la fin du backup avant de récupérer les logfiles.

Merci
Jeel<br><br>Message édité par: jeelou2000, à: 8/07/07 22:39

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

Plus d'informations
il y a 13 ans 6 mois #497 par Olivier
Bonjour,
Tu pourrais nous placer le morceau de script en question , afin de voir par exemple comment tu lance ton backup.

@+
Ole.

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

Plus d'informations
il y a 13 ans 6 mois #514 par Jacques Barathon
La méthode la plus simple pour attendre la fin d'un process Win32, c'est de rediriger sa sortie vers $null avec la commandelette out-null:

[code:1]notepad | out-null[/code:1]

Dans ton cas, il suffit de remplacer notepad par le nom du programme de sauvegarde. Le script ne continuera qu'une fois le programme terminé.

Cela dit, tu peux avoir besoin de gérer une éventuelle interruption forcée (si par exemple le programme n'a pas terminé sa sauvegarde à 7h du matin). Dans ce cas, ma solution ci-dessus ne suffira pas. Il faudra passer par la création d'un process avec la classe [System.Diagnostics.Process]. Cela te permet de voir quand le programme a démarré, s'il est terminé et le cas échéant de le \&quot;tuer\&quot;. Un exemple très bête, à adapter selon ton besoin:

[code:1]$notepad=[System.Diagnostics.Process]:: Start(\&quot;notepad\&quot;«»)
while (!$notepad.HasExited)
{
if ([DateTime]::Now -gt $notepad.StartTime.AddMinutes(10))
{
$notepad.Kill()
}
}
($notepad.ExitTime - $notepad.StartTime).TotalMinutes[/code:1]
(supprimer l'espace entre les deux-points et Start dans la première ligne du bout de code - c'est pour éviter l'affichage d'un smiley...)

Cet exemple lance le Bloc-notes et attend soit qu'il ait été fermé \&quot;de plein gré\&quot;, soit qu'il ait été lancé depuis plus de 10 minutes, auquel cas il le ferme de force. Pour finir, le temps total d'exécution est affiché (en minutes).

Janel

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

Plus d'informations
il y a 13 ans 6 mois #520 par Jeel
Réponse de Jeel sur le sujet Re:Attendre la fin d'une instruction
Un tout grand merci à Janel; le \&quot;notepad | out-null\&quot; est vraiment ce qu'il me faudrait

Bien à toi
Jeel

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

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