Existe-t-il un moyen de désactiver l'écho de script dans PowerShell ISE?

27

Chaque fois que je veux tester l'exécution de mon script dans PowerShell ISE, l'intégralité du script est répercutée sur la console avant son exécution. Ensuite, toute sortie réelle du script est écrite à partir d'une ligne immédiatement après. Cela met beaucoup de bruit dans la console et peut compliquer la recherche de la fin de l'écho du script et du début de la sortie.

Existe-t-il un moyen de désactiver cet écho du script dans la console?

Iszi
la source
Clear-Host serait-il une solution de contournement appropriée?
Guy Thomas
1
@GuyThomas Je préfère ne pas. Cela rendrait plus difficile la comparaison de la sortie entre les exécutions suivantes du script.
Iszi
L'exécution de PowerShell ISE (x86) était mon problème. L'exécution de la version 64 bits le corrige.
Paul Totzke

Réponses:

36

Enregistrez le script au moins une fois. Cela empêchera "l'écho du script" du contenu du script. Au lieu de cela, il ne fera écho au chemin d'accès au script enregistré que lorsque vous exécutez le script pour le test.

SgtOJ
la source
0

Si vous voulez simplement rendre la sortie à l'écran plus propre, ajoutez simplement:

cls

en haut de votre script PowerShell. Cela effacera la sortie dans la console. Le script sera toujours écrit à l'écran momentanément mais il sera effacé dès que votre code commencera réellement à s'exécuter.

James Robertson
la source
-3

si vous avez une ligne, par exemple

cmd.exe /c "echo foo"

vous pouvez le diriger vers null et donc ne produire aucune sortie

cmd.exe /c "echo foo" > $null

donc si vous lancez votre .ps1 à partir de la ligne de commande, vous pouvez faire quelque chose comme ceci:

PS C:\Users\bodyi> foo.ps1 > $null
Kuro
la source
Cela ne résout pas le problème. Cela supprime simplement la sortie du script, le script lui-même est toujours imprimé.
8bittree