elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Duda | Se pueden generar variables con un for? y usarlas despues?? | PS
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda | Se pueden generar variables con un for? y usarlas despues?? | PS  (Leído 1,151 veces)
cat26

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Duda | Se pueden generar variables con un for? y usarlas despues?? | PS
« en: 9 Septiembre 2019, 10:22 am »

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
Código
  1. $arreglo = New-Object System.Collections.ArrayList
  2. for ($x=1; $x -le 5; $x++) {
  3. $arreglo.Add("`$variable$x = Write-Host 'Hola'")
  4. }
  5. ::como lo llamaria para que lo leyera la consola como comando? y no como texto?
  6. ::que cuando yo le diga arreglo[0]
  7. ::me diga Hola
  8.  


« Última modificación: 9 Septiembre 2019, 20:35 pm por #!drvy » En línea

@XSStringManolo
Pro Globalización && Antiglobalista
Colaborador
***
Desconectado Desconectado

Mensajes: 2.362


Turn off the red ligth


Ver Perfil WWW
Re: Duda | Se pueden generar variables con un for? y usarlas despues?? | PS
« Respuesta #1 en: 9 Septiembre 2019, 11:26 am »

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.


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.721


$M


Ver Perfil WWW
Re: Duda | Se pueden generar variables con un for? y usarlas despues?? | PS
« Respuesta #2 en: 9 Septiembre 2019, 15:45 pm »

Puedes manejar un array indexado y con el foreach ir recorriendo cara index para mostrar su valor. Por ejemplo:
Código
  1. $array = 1,2,3,4,5
  2. foreach (item in $array) { $item }

O usar HashTable
Código
  1. $hash = @{Clave=Valor; Clave2=Valor2; Clave3=Valor3}
  2. $hash = [Ordered]@{Clave=Valor; Clave2=Valor2; Clave3=Valor3}

:https://www.maquinasvirtuales.eu/curso-basico-de-powershell-arrays-y-hashtables/
« Última modificación: 9 Septiembre 2019, 20:35 pm por #!drvy » En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
EdePC
Moderador Global
***
Desconectado Desconectado

Mensajes: 1.849



Ver Perfil
Re: Duda | Se pueden generar variables con un for? y usarlas despues?? | PS
« Respuesta #3 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.

Código
  1. $arreglo = New-Object System.Collections.ArrayList
  2. For ( $x = 1; $x -le 5; $x++ ) {
  3.  $arreglo.Add("`$variable$x = Write-Host 'Hola'")
  4. }
  5.  
  6. Clear-Host
  7. Invoke-Expression $arreglo[3]



Mod: Por favor, utilizar las etiquetas GeSHi.
« Última modificación: 9 Septiembre 2019, 20:35 pm por #!drvy » En línea

cat26

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Duda | Se pueden generar variables con un for? y usarlas despues?? | PS
« Respuesta #4 en: 9 Septiembre 2019, 21:14 pm »

Justo lo que buscaba :D, muchas gracias a los demás que respondieron
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.

Código
  1. $arreglo = New-Object System.Collections.ArrayList
  2. For ( $x = 1; $x -le 5; $x++ ) {
  3.  $arreglo.Add("`$variable$x = Write-Host 'Hola'")
  4. }
  5.  
  6. Clear-Host
  7. Invoke-Expression $arreglo[3]



Mod: Por favor, utilizar las etiquetas GeSHi.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines