PowerShell ISE'de komut dosyası yankılanmasını devre dışı bırakmanın bir yolu var mı?


27

Ne zaman betiğimin PowerShell ISE'de yürütülmesini test etmek istersem, komut dosyasının tamamı çalıştırılmadan önce konsola ekolaşıyor. Ardından, komut dosyasından gelen herhangi bir çıktı, hemen sonra bir satırdan başlayarak yazılır. Bu, konsola çok fazla ses çıkarır ve betiğin yankısının bittiği ve çıktının başladığı yeri bulmasını zorlaştırabilir.

Komut dosyasının bu yankılanmasını devre dışı bırakmak için bir yol var mı?


Clear-Host uygun bir çalışma ortamı sağlar mı?
Guy Thomas,

1
@GuyThomas ben istemem. Bu, betiğin sonraki çalıştırmaları arasındaki çıktının karşılaştırılmasını zorlaştırır.
Iszi

PowerShell ISE (x86) çalıştırmak benim sorunumdu. 64 bit sürümü çalıştırarak düzeltin.
Paul Totzke

Yanıtlar:


36

Komut dosyasını en az bir kez kaydedin. Bu, betiğin içeriğinin "script echo" unu engelleyecektir. Bunun yerine, test etmek için komut dosyasını çalıştırdığınızda yalnızca kaydedilen komut dosyasının yolunu ekolar.


0

Ekran çıktısını 'temizleyici' yapmak istiyorsanız, sadece şunu ekleyin:

cls

powershell betiğinizin üstünde. Bu konsoldaki çıktıyı temizleyecektir. Komut, ekran üzerinde anlık olarak yine de yazılacak, ancak kodunuz gerçekten çalışmaya başladığında derhal silinecektir.


-3

örneğin bir hattınız varsa, örneğin

cmd.exe /c "echo foo"

onu null yol açabilir ve bu nedenle çıktı üretemezsiniz

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

.ps1'inizi komut satırından başlatırsanız, bunun gibi bir şey yapabilirsiniz:

PS C:\Users\bodyi> foo.ps1 > $null

Bu sorunu çözmez. Bu sadece betiğin çıktısını kaldırır, betiğin kendisi hala yazdırılır.
8bittree
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.