No consigo que el constructor funcione. Sin embargo, esto parece funcionar:
# $temp = Get-ResourceFiles
$resourceFiles = New-Object System.Collections.ArrayList($null)
$resourceFiles.AddRange($temp)
También puede pasar un número entero en el constructor para establecer una capacidad inicial.
¿A qué te refieres cuando dices que quieres enumerar los archivos? ¿Por qué no puedes simplemente filtrar los valores deseados en una matriz nueva?
Editar:
Parece que se puede utilizar el constructor de matrices de esta manera:
$resourceFiles = New-Object System.Collections.ArrayList(,$someArray)
Nota de la coma. Creo que lo que está sucediendo es que cuando llamas a un método .NET, siempre pasas los parámetros como una matriz. PowerShell desempaqueta esa matriz y la pasa al método como parámetros separados. En este caso, no queremos que PowerShell descomprima la matriz; queremos pasar la matriz como una sola unidad. Ahora, el operador de coma crea matrices. Entonces PowerShell desempaqueta la matriz, luego creamos la matriz nuevamente con el operador de coma. Creo que eso es lo que está pasando.
¿Cómo se filtran los artículos? –
@Mark, ¿puedes dar más información sobre cómo quieres decidir qué archivos eliminar? Además, ¿qué devuelve Get-ResourceFiles? –
Tengo un archivo de texto con rutas relativas en él. Después de enumerar un directorio, quiero verificar si existe en el archivo, y si no existe, eliminarlo de la lista. Get-ResourceFiles simplemente devuelve una ruta como una cadena –