Capítulo 4: Operaciones básicas con variables

Publicado por P. Ruiz en

Operar con variables de tipo texto

Ya conocemos el operador más sencillo que podemos usar con variables de texto: El operador de asignación. Con él, asignamos el contenido de la expresión que haya a su derecha a la variable indicada a la izquierda. Además, podemos utilizarlo con variables de cualquier tipo:

PowerShell-UD04-001

Otra de las operaciones básicas con variables de tipo texto es unir (concatenar) el contenido de diferentes variables en una sola. Para lograrlo, podemos utilizar el operador de suma (+). Por ejemplo:

PowerShell-UD04-002

El resultado obtenido sería como en la siguiente imagen:

PowerShell-UD04-003

Observa que el mensaje aparece junto, sin ningún tipo de separación entre el contenido de la variable $nombre y el de $saludo. Esto es porque PowerShell no interpreta el sentido de lo que estamos haciendo. Únicamente se limita a pegar el contenido de ambas variables en una sola. Para solucionarlo, podríamos crear una expresión como esta:

PowerShell-UD04-004

Sin embargo, PowerShell también incorpora la capacidad de sustituir el contenido de una variable cuando ésta forma parte de un texto. Es decir, en el ejemplo anterior podríamos asignar a $mensaje un texto que contenga las dos variables que necesitamos:

PowerShell-UD04-005

… Y el resultado obtenido sería equivalente:

Ahora el saludo se muestra de forma correcta

PowerShell-UD04-006

Por último, indicar que no siempre es necesario asignar el resultado de una expresión a una variable. Por ejemplo, en los ejemplos anteriores podríamos haber escrito directamente:

PowerShell-UD04-007

o incluso:

PowerShell-UD04-008

Actividades resueltas: Trata de resolver las siguientes cuestiones, antes de consultar la respuesta:

    1. ¿Cómo podríamos modificar el ejemplo del apartado 4.2 para que el script pida al usuario el nombre de la persona a la que debe saludar?

      Ejemplo 4.2.1

    2. Usando el cmdlet Get-Date, ¿cómo podríamos crear un pequeño script que guarde la fecha de hoy en una variable y, a continuación, la muestre en pantalla, informando de que se trata de la fecha de hoy?

      Ejemplo 4.2.2

    3. Ya aprendimos en el capítulo 1 que el cmdlet Get-WmiObject Win32_ComputerSystem nos ofrece un objeto con información del equipo.

      Pues bien, para obtener una de sus propiedades de forma aislada, por ejemplo el fabricante del equipo, bastaría con completar la orden de la siguiente forma:

      (Get-WmiObject Win32_ComputerSystem).Manufacturer

      A partir de esto, ¿como crees que sería el script que nos permita guardar ese nombre de fabricante en una variable de texto, añadirle un texto informativo del tipo «Fabricante de este ordenador:», y mostrarlo en pantalla?

      Ejemplo 4.2.3