2010-05-24 11 views
7

Ekrana çizgiler veren bir cscript varsa, her baskıdan sonra "satır besleme" yi nasıl önleyebilirim?cscript - baskı çıkışı aynı hatta konsolda mı?

Örnek: beklenen çıkışı olmalıdır

for a = 1 to 10 
    WScript.Print "." 
    REM (do something) 
next 

:

.......... 

Değil:

. 
. 
. 
. 
. 
. 
. 
. 
. 
. 

Geçmişte yazdırmak için kullandım "ok karakteri yukarı" ASCII kodu. Bu cscript içinde yapılabilir mi?

YANIT aynı satırda

Baskı, ekstra CR/LF

olmadan
for a=1 to 15 
    wscript.stdout.write a 
    wscript.stdout.write chr(13) 
    wscript.sleep 200 
next 

cevap

9

Baskı yerine wscript.stdout.write() kullanın.

+0

oops - VB günlerime geri çekildi. Evet, WScript.Print doğru komut! – Guy

+1

Yeni satır karakterleri olmadan aynı satırda yazdırmak için wscript.print yerine wscript.stdout.write kullanabilirsiniz. – naivnomore

+0

Evet - Bu işe yarayacak! – Guy

2

WScript.Print() baskılar bir çizgi ve bunu değiştiremezsiniz. Bu satırda birden fazla şey yapmak istiyorsanız, bir dize oluşturun ve bunu yazdırın.

Dim s: s = "" 

for a = 1 to 10 
    s = s & "." 
    REM (do something) 
next 

print s 

Sadece Windows komut dosyası için bunu düz, cscript.exe sadece komut satırı arayüzü koymak ve VBScript dilidir.

+0

Evet, wscript.print doğru - benim eski VB komut günlerine geriledi ... Ben size konsola komut karakterleri "echo" biliyorum eminim ve eski yazdı böyle mi "DOS" tarzı uygulamalar. Bu, imleci manipüle etmek için hala yapılabilir mi? – Guy

+0

@Guy: VBScript’in 'WScript.Print()', VB6’nın 'Debug.Print()' gibi yeni satırlarla ilgili olarak çalışır, yani ... bilgim için değil. – Tomalak

-1

wscript veya cscript ortamını desteklemek için JavaScript'imde aşağıdaki "log" işlevini kullanıyorum. Gördüğünüz gibi bu fonksiyon sadece standart çıktıya yazabiliyor.

var ExampleApp = { 
    // Log output to console if available. 
    //  NOTE: Script file has to be executed using "cscript.exe" for this to work. 
    log: function (text) { 
     try { 
      // Test if stdout is working. 
      WScript.stdout.WriteLine(text); 
      // stdout is working, reset this function to always output to stdout. 
      this.log = function (text) { WScript.stdout.WriteLine(text); }; 
     } catch (er) { 
      // stdout is not working, reset this function to do nothing. 
      this.log = function() { }; 
     } 
    }, 
    Main: function() { 
     this.log("Hello world."); 
     this.log("Life is good."); 
    } 
}; 

ExampleApp.Main(); 
+0

Bu, her baskıdan sonra ('satır besleme'den nasıl kaçınırım?' Sorusunu yanıtlamıyor?) – Helen