2013-10-03 32 views
9

Ben şu komut dosyası: Ben daha eksiksiz bir görevi yazmak için yine aynı mantığı kullanarak olacak çünkü ben sadece istediğimToplu iş lem, çalıştırdığı kodu yazdırmasını nasıl engellerim?

FOR %%i IN (1 2 3) DO (  
    IF %%i==1 ( 
     ECHO %%i 
    ) 
    IF %%i==2 ( 
     ECHO %%i 
    ) 
    IF %%i==3 ( 
     ECHO %%i 
    ) 
) 

Ben bir değilim ...

1 
2 
3 

yazdırmak için Windows adamım ve batch'da nasıl yapılacağını bilmiyorum. Bunun yerine alıyorum:

c:\>FOR %i IN (1 2 3) DO (
IF %i == 1 (ECHO %i ) 
IF %i == 2 (ECHO %i ) 
IF %i == 3 (ECHO %i ) 
) 

c:\>(
IF 1 == 1 (ECHO 1 ) 
IF 1 == 2 (ECHO 1 ) 
IF 1 == 3 (ECHO 1 ) 
) 
1 

c:\>(
IF 2 == 1 (ECHO 2 ) 
IF 2 == 2 (ECHO 2 ) 
IF 2 == 3 (ECHO 2 ) 
) 
2 

c:\>(
IF 3 == 1 (ECHO 3 ) 
IF 3 == 2 (ECHO 3 ) 
IF 3 == 3 (ECHO 3 ) 
) 
3 
+0

Muhtemelen dosya ayrıştırma yapmak istediğinizde ve/veya '/ L'ye sahip olmak istiyorsanız, bu seçenek bu basit durumda çalışmaz. Eğer onu bırakırsan, beklediğin gibi 1 2 3'ü alırsın. – lurker

+0

@mbratch Sorumu düzenliyorum ... – cybertextron

cevap

24

, Windows bir kabuk komut dosyası komutları yankılanan önlemek için @echo off kullanın: echo off önceki @ yankılandırmasını echo off önler

@ECHO OFF 
FOR %%i IN (1 2 3) DO (  
    IF %%i==1 ( 
     ECHO %%i 
    ) 
    IF %%i==2 ( 
     ECHO %%i 
    ) 
    IF %%i==3 ( 
     ECHO %%i 
    ) 
) 

Not. @'a sahip değilseniz, echo off terminaline yankılanmış göreceksiniz, ancak bu noktadan sonra yankılanma kapalı olacaktır. Önceden @ olan bir kabuk komutu yankılmamıştır. Böylece @ bireysel komutların yankısını önlemek için kullanılabilir.

İlgili konular