Kommentare: PowerShell Loops und Array
														
							Beitrag erstellt von Bernhard
								| Veröffentlicht:  21.03.2013  
								| Aktualisiert:  25.02.2022  | 
								
															
								 Translation English		
								
							  |🔔		
		
								|	Kommentare:11
	
		
						
						
				
					
				Fragen / Kommentare zu PowerShell Loops und Array
(neueste zuerst)User: Wittgenstein 
Interessant ist auch, dass man Arrays in eine foreach pipen kann:
$array | foreach { $_ }
ist das gleiche wie
foreach ($i in $array)
{
   $i
}
					User: vagabond3 wäre für mich als blutigen anfänger schön, wenn ihr den code erstmal selbst testet, bevor ihr ihn online stellt...und der 2. nicht einfach den mist vom vorgänger ungeprüft abkupfert... ;-P
Für mich wäre 3. interessant was genau nicht funktioniert ;-P
Beitrag erstellt von Bernhard
User: xermicus 
Einfacher geht die Abfrage er ein foreach-Konstrukt:
$array = @("wert1","wert2",wert3, "wert4", "wert5")
foreach ($item in $array)
{
write-host $item
}
					Alles ohne foreach:
$array = @("wert1","wert2",wert3, "wert4", "wert5")
$array | % { write-host $_ }Beitrag erstellt von anonym
Hallo, Kurze Randbemerkung: % ist auch eine Foreach-Schleife, nur als Alias für schreibfaule
Beitrag erstellt von anonym
User: Micha 
Hallo, ich versuche verzweifelt nach einem Weg die kommastellen hochzuzähel, also 0.1/0.2 etc bis 10.
Hat jemand eine Idee?
$i = 0.1
While ($i -lt 10){$i + 0.1}
Ergebnis: endlosschlaufe 0.2
					soweit ich das sehe zählst Du $i zwar hoch, speicherst $i aber nicht mit dem neuen Wert. Deswegen bleibt es dann auch auf dem Ursprungswert.
Die Funktion ++ ist destruktiv, sie überschreibt also den Eingangswert selbständig mit dem neuen Wert.
While ($i -lt 10){$i = $i + 0.1}
würde klappenBeitrag erstellt von anonym
User: PowerShell 
Funktioniert doch alles...
Aber bei der while Schleife würde ich ein -lt statt -le verwenden.
Bei der Ausgabe wird am Ende (6. Durchlauf) eine Leerzeile durch das nicht vorhandene 6. Element erzeugt. Zum Verdeutlichen habe ich i mit ausgegeben.
Es stört hier nicht, alles ausgegeben werden soll, kann in anderen Szenarien aber zu Problemen führen.
$i=0
while ($i -lt $array.length){
Write-Host $array[$i] 
$i
$i++
}
					danke, habe ich ausgebessert
Beitrag erstellt von Bernhard