jnnkls
Goto Top

Powershell 5.0 - Variable und Test zusammen

Moin,

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

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:

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

Wie kriege ich das hin?

Gruß
jnnkls

Content-Key: 381759

Url: https://administrator.de/contentid/381759

Printed on: April 27, 2024 at 03:04 o'clock

Member: NetzwerkDude
NetzwerkDude Jul 30, 2018 at 13:54:45 (UTC)
Goto Top
Nur
Write-Host $v':\'  
sollte es doch tun?
Member: colinardo
Solution colinardo Jul 30, 2018 updated at 14:41:46 (UTC)
Goto Top
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
Member: jnnkls
jnnkls Jul 30, 2018 at 13:57:39 (UTC)
Goto Top
Super, ich danke dir. Darauf bin ich nicht mehr gekommen :D