Je voudrais sortir des variables et des valeurs dans un script PowerShell en configurant des indicateurs et en affichant les données dans le script.
Comment pourrais-je faire ça?
Par exemple, quel serait le PowerShell équivalent au code PHP suivant?
echo "filesizecounter: " . $filesizecounter
Il y a plusieurs façons:
Write-Host
: Ecrivez directement sur la console, non incluse dans la sortie de fonction / cmdlet. Permet de définir la couleur de premier plan et d’arrière-plan.
Write-Debug
: écrivez directement sur la console si $DebugPreference
défini sur Continue ou Stop.
Write-Verbose
: Ecrivez directement sur la console si $VerbosePreference
défini sur Continue ou Stop.
Ce dernier est destiné à des informations supplémentaires facultatives, Write-Debug
pour le débogage (semble donc convenir dans ce cas).
Supplémentaire : dans PSH2 (au moins), les scripts utilisant la liaison de cmdlet obtiendront automatiquement les parameters de commutation -Verbose
et -Debug
, activant localement Write-Verbose
et Write-Debug
(remplaçant les variables de préférence) comme le font les applets de commande et les fournisseurs compilés.
Powershell a un alias mapping echo sur Write-Output
, donc:
echo "filesizecounter : $filesizecounter"
PowerShell interpole, n’est-ce pas?
En PHP
echo "filesizecounter: " . $filesizecounter
peut aussi être écrit comme:
echo "filesizecounter: $filesizecounter"
Dans PowerShell, quelque chose comme ça devrait répondre à vos besoins:
Write-Host "filesizecounter: $filesizecounter"
Write-Host "filesizecounter : " $filesizecounter
Le moyen le plus simple de faire écho dans powershell est de créer l’object ssortingng et de le laisser sortir par le pipeline:
$filesizecounter = 8096 "filesizecounter : $filesizecounter"
Bien entendu, vous ne faites pas preuve de souplesse lorsque vous n’utilisez pas les méthodes Write- *.
echo est un alias de Write-Output, bien qu’il ressemble à Write-Host .
Ce n’est pas la différence Quelle est la différence entre echo et Write-Host dans PowerShell? .
echo est un alias pour Write-Output, qui écrit dans le stream de sortie Success. Cela permet de traiter la sortie via des pipelines ou de la redirect vers des fichiers. Write-Host écrit directement sur la console afin que la sortie ne puisse plus être redirigée / traitée.
Je ne sais pas si c’est sage de le faire, mais vous pouvez simplement écrire
"filesizecounter: " + $filesizecounter
Et il devrait sortir:
filesizecounter: valeur
Essayez Get-Content .\yourScript.PS1
et vous verrez le contenu de votre script.
vous pouvez également insérer cette ligne dans votre code de script:
get-content .\scriptname.PS1 script code script code
….
Le Write-host fonctionne bien.
$Filesize = (Get-Item $filepath).length; Write-Host "FileSize= $filesize";