Powershell / patientez quelques minutes en couleur ;)

Publié le Mis à jour le

Bonjour,

Il est parfois utile, pour diverses raisons, de patienter lors de l’exécution d’un script Powershell. Je livre ci-dessous le code d’une fonction permettant d’afficher un curseur coloré pendant N minutes :


function TB-CountDown($waitMinutes) {
	$startTime = get-date
	$endTime   = $startTime.addMinutes($waitMinutes)
	$timeSpan = new-timespan $startTime $endTime
	write-host "`nSleeping for $waitMinutes minutes..." -backgroundcolor black -foregroundcolor white
	
	# $cursor = @("-","\","|","/","-","","","",">","<",">","<",">","<",">","<",">","<")
	$cursor = @("-","\","|","/")
	$colors=@("Black","DarkBlue","DarkGreen","DarkCyan","DarkRed","DarkMagenta","DarkYellow","Gray","DarkGray","Blue","Green","Cyan","Red","Magenta","Yellow","White")
	 
	$i=0
	while ($timeSpan -gt 0) {
		$color = Get-Random -Input $colors
		$timeSpan = new-timespan $(get-date) $endTime
		write-host "`r".padright(1," ") -nonewline
		Start-Sleep -m 100
		if (($cursor.length) -gt $i ){
			$t =$cursor[$i]
			write-host -foregroundcolor $color "  $t" -nonewline
			$i++
		}
		else{
			$i=0
		}
	}	
		
	write-host ""
}

Attention si vous faites du transcript, chaque caractère affiché ajoute une ligne dans votre fichier de transcript

Sources : http://poshtips.com/2010/03/29/powershell-countdown-timer/

Publicités

Laissez un commentaire

Choisissez une méthode de connexion pour poster votre commentaire:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s