variable - script powershell ejemplos
Equivalente de eco en PowerShell para pruebas de script (9)
Me gustaría generar variables y valores en un script de PowerShell configurando indicadores y viendo los datos matriculados en todo el script.
¿Cómo haría esto?
Por ejemplo, ¿cuál sería el equivalente de PowerShell al siguiente código PHP?
echo "filesizecounter: " . $filesizecounter
Con mucho, la manera más fácil de hacer eco en PowerShell es simplemente crear el objeto de cadena y dejar que la tubería lo genere:
$filesizecounter = 8096
"filesizecounter : $filesizecounter"
Por supuesto, renuncia a cierta flexibilidad cuando no utiliza los métodos Write- *.
El Write-host funciona bien.
$Filesize = (Get-Item $filepath).length;
Write-Host "FileSize= $filesize";
Hay varias formas:
Write-Host
: escribe directamente en la consola, no incluido en la salida de función / cmdlet. Permite establecer el color de primer plano y de fondo.
Write-Debug
: escriba directamente en la consola, si $DebugPreference
establece en Continue o Stop.
Write-Verbose
: escribe directamente en la consola, si $VerbosePreference
establece en Continue o Stop.
El último está destinado a la información adicional opcional, Write-Debug
para la depuración (por lo que parece encajar en este caso).
Adicional : en PSH2 (al menos) los scripts que usan el enlace de cmdlet obtendrán automáticamente los -Verbose
y -Debug
, habilitando localmente Write-Verbose
y Write-Debug
(es decir anulando las variables de preferencia) como lo hacen los cmdlets y proveedores compilados.
No sé si es aconsejable hacerlo, pero puedes escribir
"filesizecounter: " + $filesizecounter
Y debería salir:
filesizecounter: valor
PowerShell interpola, ¿no es así?
En PHP
echo "filesizecounter: " . $filesizecounter
también se puede escribir como:
echo "filesizecounter: $filesizecounter"
En PowerShell, algo así debería adaptarse a sus necesidades:
Write-Host "filesizecounter: $filesizecounter"
Powershell tiene un eco de asignación de alias en Write-Output
, por lo que:
echo "filesizecounter : $filesizecounter"
Pruebe Get-Content ./yourScript.PS1
y verá el contenido de su script.
también puede insertar esta línea en su código scrip:
get-content ./scriptname.PS1
script code
script code
....
echo es alias para Write-Output aunque tiene el mismo aspecto que Write-Host .
No es ¿Cuál es la diferencia entre echo y Write-Host en PowerShell? .
echo es un alias para Write-Output, que escribe en la secuencia de salida Success. Esto permite que la salida se procese a través de canalizaciones o se redirija a archivos. Write-Host escribe directamente en la consola, por lo que la salida no se puede redirigir / procesar más.
Write-Host "filesizecounter : " $filesizecounter