Je voudrais sortir les variables et les valeurs dans un script PowerShell en configurant des indicateurs et en visualisant les données capitalisées tout au long du script.
Comment je ferais ça?
Par exemple, quel serait l'équivalent de PowerShell avec le code PHP suivant?
echo "filesizecounter: " . $filesizecounter
Il y a plusieurs façons:
Write-Host
: écrit directement sur la console, non inclus dans la sortie de la 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 Continuer ou sur Arrêter.
Write-Verbose
: écrivez directement sur la console si $VerbosePreference
défini sur Continuer ou sur Arrêter.
Ce dernier est destiné à des informations optionnelles supplémentaires, _Write-Debug
_ pour le débogage (semblerait donc convenir dans ce cas).
Supplémentaire : Dans PSH2 (au moins), les scripts utilisant la liaison d'applet de commande obtiendront automatiquement les paramètres de commutateur _-Verbose
_ et _-Debug
_, activant localement _Write-Verbose
_ et _Write-Debug
_ (c'est-à-dire remplacer les variables de préférence) comme le font les cmdlets et les fournisseurs compilés.
Powershell a un écho d'alias de mappage sur Write-Output
, donc:
echo "filesizecounter : $filesizecounter"
PowerShell interpole, n'est-ce pas?
En PHP
echo "filesizecounter: " . $filesizecounter
peut également être écrit comme:
echo "filesizecounter: $filesizecounter"
Dans PowerShell, quelque chose comme ceci devrait répondre à vos besoins:
Write-Host "filesizecounter: $filesizecounter"
Write-Host "filesizecounter : " $filesizecounter
De loin, le moyen le plus simple de faire écho à powershell consiste simplement à créer l'objet chaîne et à laisser le pipeline le sortir:
$filesizecounter = 8096
"filesizecounter : $filesizecounter"
Bien sûr, vous perdez de la flexibilité lorsque vous n’utilisez pas les méthodes Write- *.
echo est un alias vers Write-Output bien qu'il ressemble à Write-Host .
Ce n'est pas Quelle est la différence entre echo et Write-Host dans PowerShell?.
echo est un alias pour Write-Output, qui écrit dans le flux de sortie Success. Cela permet de traiter les sorties via des pipelines ou de les rediriger vers des fichiers. Write-Host écrit directement sur la console, de sorte que la sortie ne puisse plus être redirigée/traitée.
L'écriture-hôte fonctionne bien.
$Filesize = (Get-Item $filepath).length;
Write-Host "FileSize= $filesize";
Je ne sais pas s'il 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.
aussi vous pouvez insérer cette ligne dans votre code script:
get-content .\scriptname.PS1
script code
script code
....