Équivalent Echo en PowerShell pour les tests de script

je voudrais sortir des variables et des valeurs dans un script PowerShell en mettant en place des drapeaux et en voyant les données matriculer tout au long du script.

Comment faire?

par exemple, Quel serait L'équivalent PowerShell du code PHP suivant?

echo "filesizecounter: " . $filesizecounter 
165
demandé sur Peter Mortensen 2009-04-02 02:49:06

9 réponses

il y a plusieurs façons:

Write-Host : Ecrivez directement sur la console, non inclus dans la sortie fonction/cmdlet. Permet de régler la couleur du premier plan et du fond.

Write-Debug : écrivez directement sur la console, si $DebugPreference est réglé pour continuer ou arrêter.

Write-Verbose : écrivez directement à la console, si $VerbosePreference est réglée pour continuer ou S'arrêter.

ce dernier est destiné à des informations optionnelles supplémentaires, Write-Debug pour le débogage (donc semblerait correspondre dans ce cas).

supplémentaire : en PSH2 (au moins) les scripts utilisant cmdlet binding obtiendront automatiquement les paramètres de commutation -Verbose et -Debug , en activant localement les paramètres Write-Verbose et Write-Debug (c'est-à-dire en variables de préférence) comme le font les cmdlets compilés et les fournisseurs.

203
répondu Richard 2018-03-09 19:28:28

Powershell est un alias de la cartographie de l'écho à Write-Output , donc:

echo "filesizecounter : $filesizecounter"

76
répondu Justin R. 2016-11-17 12:46:45

PowerShell interpolate, n'est-ce pas?

en PHP

echo "filesizecounter: " . $filesizecounter 

peut aussi s'écrire comme:

echo "filesizecounter: $filesizecounter" 

en PowerShell quelque chose comme ceci devrait convenir à vos besoins:

Write-Host "filesizecounter: $filesizecounter"
24
répondu John T 2015-03-19 12:09:56
Write-Host "filesizecounter : " $filesizecounter 
19
répondu aphoria 2009-04-02 01:09:10

de loin la façon la plus facile de faire écho dans powershell, est juste créer l'objet string et laisser le pipeline le sortir:

$filesizecounter = 8096
"filesizecounter : $filesizecounter"

bien sûr, vous renoncez à une certaine flexibilité lorsque vous n'utilisez pas les méthodes Write -*.

13
répondu Goyuix 2010-01-14 15:39:26

echo est l'alias de 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 au flux de sortie de succès. Cela permet de traiter la sortie par des pipelines ou de la rediriger dans des fichiers. Ecrire-Host écrit directement sur la console, de sorte que la sortie ne peut plus être redirigée/traitée.

9
répondu Paul Fijma 2017-05-23 12:18:30

Je ne sais pas s'il est sage de le faire, mais vous pouvez juste écrire""

"filesizecounter: " + $filesizecounter

et il devrait sortir:

filesizecounter: valeur

4
répondu Peter 2015-03-19 12:14:10

essayez Get-Content .\yourScript.PS1 et vous verrez le contenu de votre script.

vous pouvez aussi insérer cette ligne dans votre code de prescription:

get-content .\scriptname.PS1
script code
script code

....

3
répondu Luis 2013-01-15 21:12:12

l'écriture-hôte de travail amende.

$Filesize = (Get-Item $filepath).length;
Write-Host "FileSize= $filesize";
3
répondu ali Darabi 2017-05-23 08:55:02