jnnkls
Goto Top

Powershell 5.0 - Variable und Test zusammen

Moin,

ich habe folgendes Problem. Einmal mein Codeschnipsel aus meinem Riesencode:

1
2
3
4
for ($v = 67; $v -le 69; $v++){
	if ((Test-Path [char[]]$v':\') -eq $TRUE){  
		New-Variable -Name "DriveType$v" -Value (Get-Volume -DriveLetter $v).DriveType  
	}

Ich möchte mit diesem Codeschnipsel Volumes auf Rechnern prüfen, ohne für jedes einen extra Codeschnipsel zu schreiben.
Allerdings möchte ich, dass er auf der 67 dann 'C' macht und anschließen das ':\' hinten ranhängt um den Test-Path auszuführen.
Wenn ich folgendes mache:

1
Write-Host ([Char[]]($v))':\'  
Bekomme ich folgende Ausgabe:
1
 C :\ 
Sprich, mit dem ungewollten Leerzeichen, soll aber ohne.

Wie kriege ich das hin?

Gruß
jnnkls

Content-ID: 381759

Url: https://administrator.de/forum/powershell-5-0-variable-und-test-zusammen-381759.html

Ausgedruckt am: 13.04.2025 um 21:04 Uhr

NetzwerkDude
NetzwerkDude 30.07.2018 um 15:54:45 Uhr
Goto Top
Nur
1
Write-Host $v':\'  
sollte es doch tun?
colinardo
Lösung colinardo 30.07.2018 aktualisiert um 16:41:46 Uhr
Goto Top
1
if (Test-Path "$([char]$v):\"){  
Das $v im New-Variable musst du aber auch dementsprechend erst zum CHAR wandeln sonst steht da ja die Zahl drin anstatt der Buchstabe.

Grüße Uwe
jnnkls
jnnkls 30.07.2018 um 15:57:39 Uhr
Goto Top
Super, ich danke dir. Darauf bin ich nicht mehr gekommen :D