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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  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 2,822 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
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.399


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

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


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

Te vendería mi talento por poder dormir tranquilo.
EdePC
Moderador Global
***
Desconectado Desconectado

Mensajes: 2.156



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