PowerShell splatting es una técnica que permite pasar un conjunto de argumentos a un cmdlet o una función utilizando un hash table (@{}
) en lugar de proporcionar los argumentos directamente en la línea de comandos. Esto facilita la gestión y organización de los parámetros, especialmente cuando se trabaja con un gran número de ellos. El nombre «splat» proviene de la forma en que la notación del hash (@{}
) se parece a un «splash» o «salpicadura» en el código.
Ejemplo de PowerShell splatting:
Supongamos que tienes un cmdlet que acepta varios parámetros, y en lugar de proporcionarlos directamente, decides usar splatting para hacer que el código sea más legible. Aquí hay un ejemplo con el cmdlet New-Item
:
1 2 3 4 5 6 7 8 9 |
# Definir los parámetros como un hash table $parametros = @{ Path = "C:\Ruta\NuevaCarpeta" ItemType = "directory" Force = $true } # Utilizar splatting para pasar los parámetros al cmdlet New-Item @parametros |
En este ejemplo:
Path
,ItemType
, yForce
son parámetros del cmdletNew-Item
.- En lugar de proporcionar estos parámetros directamente en la línea de comandos, los definimos como un hash table llamado
$parametros
. - Luego, utilizamos splatting (
@parametros
) para pasar esos parámetros al cmdlet.
Este enfoque hace que el código sea más legible y facilita la gestión de los parámetros, especialmente cuando tienes varios o cuando trabajas con scripts más extensos. Además, si necesitas modificar o añadir parámetros, solo necesitas actualizar el hash table en lugar de modificar cada instancia del cmdlet en tu código.