Non riesco a far funzionare il costruttore. Questo sembra comunque funzionare:
# $temp = Get-ResourceFiles
$resourceFiles = New-Object System.Collections.ArrayList($null)
$resourceFiles.AddRange($temp)
È possibile passare anche un intero nel costruttore per impostare una capacità iniziale.
Cosa intendi quando dici di voler enumerare i file? Perché non puoi semplicemente filtrare i valori desiderati in un nuovo array?
Edit:
Sembra che è possibile utilizzare la funzione di costruzione Array in questo modo:
$resourceFiles = New-Object System.Collections.ArrayList(,$someArray)
nota la virgola. Credo che quello che sta accadendo è che quando chiamate un metodo .NET, passate sempre i parametri come una matrice. PowerShell decomprime tale array e lo passa al metodo come parametri separati. In questo caso, non vogliamo che PowerShell disimballaggi l'array; vogliamo passare l'array come una singola unità. Ora, l'operatore virgola crea matrici. Quindi PowerShell scompatta l'array, quindi creiamo nuovamente l'array con l'operatore virgola. Penso che sia quello che sta succedendo.
fonte
2009-03-06 12:24:47
Come si filtrano gli articoli? –
@ Mark, puoi fornire ulteriori informazioni su come decidere quali file rimuovere. Inoltre, cosa restituisce Get-ResourceFiles? –
Ho un file di testo con relativi percorsi. Dopo aver enumerato una directory, desidero controllare se esiste nel file e, se non esiste, rimuoverla dall'elenco. Get-ResourceFiles restituisce appena un percorso come una stringa –