PowerShell montre le temps écoulé
J'ai un script qui lance un événement et attend que l'utilisateur appuie sur une touche pour arrêter l'exécution du script. J'ai essayé de trouver un moyen de montrer une minuterie (combien de temps le script a été en cours d'exécution) en attendant l'entrée de l'utilisateur à Read-Host. Est-il un moyen pour accomplir cette?
Cela fonctionne
$Time = [System.Diagnostics.Stopwatch]::StartNew()
while ($true) {
$CurrentTime = $Time.Elapsed
write-host $([string]::Format("`rTime: {0:d2}:{1:d2}:{2:d2}",
$CurrentTime.hours,
$CurrentTime.minutes,
$CurrentTime.seconds)) -nonewline
sleep 1
if ($Host.UI.RawUI.KeyAvailable -and ("q" -eq $Host.UI.RawUI.ReadKey("IncludeKeyUp,NoEcho").Character)) {
Write-Host "Exiting now"
break;
}
}
Jetez un oeil ici pour l'utilisation de WPF de l'INTERFACE utilisateur dans le backgound dans powershell nivot.org/blog/post/2008/05/23/...
OriginalL'auteur Jeff | 2012-06-08
Vous devez vous connecter pour publier un commentaire.
De l'article La mesure du Temps Écoulé en Powershell (copie archivée):
Donc, en utilisant l'exemple ci-dessus, vous pouvez définir
$script:StartTime
avant de Lire l'Hôte et de l'appeler ensuite$elapsedTime = $(get-date) - $script:StartTime
après.OriginalL'auteur xelco52
À l'aide d'une classe timer (RIP poshtips) m'a donné quelque chose comme ceci:
Où $NoEvent est votre cas/boolean (touche appuyez sur la touche func, etc.).
Le lien est cassé (le domaine n'existe plus).
RIP poshtips, je vais supprimer le lien. Merci pour le heads up!
OriginalL'auteur Sweet_Pete
Cela m'a donné la sortie, j'étais après 🙂
OriginalL'auteur m0del101
Je suis heureux avec cette petite fonction élargie de Xelco52 la réponse de
OriginalL'auteur Clinton Ward