Hola, aqui molestando de nuevo, buen día a todos
Lo que estoy haciendo es con un for variables, el problema que al mandarlas a llamar no me las llama como si fueran variables , solo me las crea como texto o no se que sera, creó las variables con un numero según el for, y si yo concateno con algo, me dice que no la eh declarado y me di cuenta y en la consola cuando declaro una variable yo mismo sale en verde pero cuando lo trato de hacer con el for me sale en amarillo como cualquier texto. Entonces no se hay un comando para llamarlos, o algún procedimiento para usarlos como variable o simplemente no se puede hacer eso? gracias y saludos
Saludos
$arreglo = New-Object System.Collections.ArrayList
for ($x=1; $x -le 5; $x++) {
$arreglo.Add("`$variable$x = Write-Host 'Hola'")
}
::como lo llamaria para que lo leyera la consola como comando? y no como texto?
::que cuando yo le diga arreglo[0]
::me diga Hola
No me suena que se pueda hacer.
El tema es la las variables que creas dentro del for se destrullen tras cada iteración, asique tampoco te serviría. Usa un array sin más.
Puedes manejar un array indexado y con el foreach ir recorriendo cara index para mostrar su valor. Por ejemplo:
$array = 1,2,3,4,5
foreach (item in $array) { $item }
O usar HashTable
$hash = @{Clave=Valor; Clave2=Valor2; Clave3=Valor3}
$hash = [Ordered]@{Clave=Valor; Clave2=Valor2; Clave3=Valor3}
:https://www.maquinasvirtuales.eu/curso-basico-de-powershell-arrays-y-hashtables/
Saludos,
- Me parece que cada quien entiende diferente lo que quieres lograr XD, alguno dará en el clavo. Lo que entiendo yo es que quieres guardar instrucciones como texto en tu ArrayList y luego interpretar dicho texto para que ejecute la instrucción.
$arreglo = New-Object System.Collections.ArrayList
For ( $x = 1; $x -le 5; $x++ ) {
$arreglo.Add("`$variable$x = Write-Host 'Hola'")
}
Clear-Host
Invoke-Expression $arreglo[3]
Mod: Por favor, utilizar las etiquetas GeSHi.
Justo lo que buscaba :D, muchas gracias a los demás que respondieronCita de: EdePC en 9 Septiembre 2019, 17:38 PM
Saludos,
- Me parece que cada quien entiende diferente lo que quieres lograr XD, alguno dará en el clavo. Lo que entiendo yo es que quieres guardar instrucciones como texto en tu ArrayList y luego interpretar dicho texto para que ejecute la instrucción.
$arreglo = New-Object System.Collections.ArrayList
For ( $x = 1; $x -le 5; $x++ ) {
$arreglo.Add("`$variable$x = Write-Host 'Hola'")
}
Clear-Host
Invoke-Expression $arreglo[3]
Mod: Por favor, utilizar las etiquetas GeSHi.