Üçüncü taraf bir güç kabuk kitaplığı ile çalışıyorum. Bu kitaplık yöntemindeki işlev parametrelerinden biri dize dizisidir. Bu parametre değeri sabit disk sürücülerini içermelidir. Ben sürücülerDize dizisi olarak sürücüler listesi
[string[]] $drives = $null;
gwmi win32_logicaldisk -filter "drivetype = 3" | Select Name | % { $drives += $_.Name }
$drives -is [array]
Write-Output $drives
bu senaryonun çıktı Gerçek
olduğunu almak için komut şu var
C:
D:
Ancak üçüncü parti kütüphane görünmüyor bunu bir dizi olarak kabul etmek. Sürücüleri aşağıdaki gibi kodlarsam, her şey çalışır.
$drives = @('C:', 'D:')
Sorum şu dize dizinin formu doğru olduğu gibi sürücüleri alma am yoludur? Ben Güç-Shell 2.0
Bu yaklaşımla, üçüncü taraf kitaplığı işlevi, temel olarak işlev için daha fazla argüman sağladığımı ima eden bir hata veriyor. Bunun nedeni şudur çünkü şimdi sürücü harfleri arasında ek boşluklar var mı? Ayrıca, bir harf dizisinden beri sürücü harfi tek tırnak içinde olmamalıdır? –
Üçüncü taraf kitaplığının ne olduğunu, girdi olarak ne beklediğini ya da tam olarak hata mesajını bilmeden, yalnızca tahmin edebilirsiniz. Ama şunu söyleyebilirim ki, '$ drives' kesinlikle bir dizi dizge içerir. Sadece aradığın dizeler olmayabilirler. – alroc