2016-03-21 15 views
0

Bu yüzden bir toplu iş komut dosyası yazıyordum (ki çok nadiren yapıyorum).Toplu iş komut dosyasındaki iletiler nasıl bastırılır?

Açıkça echo açık olmayan hiçbir şeyi bastırmak istiyorum.

>nul 2>&1

stderr ve stdout gelen mesajları bastırmak için çalışır kullanarak şimdiye kadar her şey için

.

Ancak

, ben type aynı ilkeyi uygulamaya çalışırken, komut yürütmüyor ...

type header.tmp geo.tmp > geo.txt

Ben bastırmak istiyorum komuttur.

Herhangi bir fikiriniz var mı? Normalde bastırmak

+0

Hatta 'gibi nul'' bir kod bütün bloğu yönlendirebilir> nul 2> & 1 (...) 've sonra bu bloğun içindeki her bir çıktıyı açık bir şekilde yönlendirmek için'> con'… – aschipfl

cevap

3

Sanırım dosya adlarını göstermesini engellemeye çalışıyorsunuz. Hata çıkışı için birden fazla dosya alırken tip dosya gönderir gibi,

type header.tmp geo.tmp > geo.txt 2>nul 

kullanarak bunu yapabilirsiniz 2>

+0

Bu tam olarak aradığım şey. Sanırım bu şeylerin gerçekten harekete geçmeden önce neyin gerçekten bastırdığını öğrenmeliyim, ama cevabınız için çok teşekkür ederim. –

+0

@AndersHokinson Yeniden yönlendirme/süpresme komutları hakkında daha fazla bilgi için, [this] sayfasına bakın (http://ss64.com/nt/syntax-redirection.html) –

0

@echo on 

Ve yürütülürken ... ile sonunda onu geri dönersek ile bir toplu komut başından ...

@echo off 

gelen yankı komut dosyası, ben sadece onun idamesi ile ilgili yankı vermek istediklerimi yankıyorum. Bunu yapmak, her şeyi NUL'ye göndermek zorunda kalmanızı sağlar. Yine de, tip komutunda olduğu gibi, std çıkışını veya belirli komutların hata çıktılarını nul olarak yeniden yönlendirmeniz gerekecektir.

+0

echo açma/kapama, gerçekleri göstermek/gizlemek için değil, çalıştırılan komutları göstermek/gizlemek için kullanılır. Bu komutların çıktısı, lütfen [Komut Yönlendirme] 'ne bakın (http://ss64.com/nt/syntax-redirection.html) –

+0

Evet. Kesinlikle. O zaman o sadece diğer tüm şeyleri görmek yerine görmek istediği komutların çıktısını yönlendirmek gerekiyor. Türün err çıktısını nul'e göndermek gibi. Bunu daha net hale getirmek için cevabımı güncelledim. – ManoDestra

+2

@echo off ** çıkışı yeniden yönlendirmiyor. ** Komutların kendilerinin cmd, ** değil, çıktısını ** göstermelerini engeller. Örneğin, "echo merhaba" hala cmd'de "merhaba" ifadesini gösterecektir, ancak "C:> echo merhaba" nun üzerindeki çizgi. Ancak, 'echo hello> nul' –

İlgili konular