DOS'ta bir dosyaya bir şey yazdırmak için echo kullandığımda dizeye bir boşluk eklendiğini fark ettim. Dizgiyi izleyen boşluk olmadan basmam gerekiyor. Bunu yapmak için bir yol var mı, yoksa bir çözüm olarak, dosyadan sondaki boşlukları kaldırmak mı?DOS'ta boşluk bırakmadan yankı kullanımı
cevap
Sorunu doğru bir şekilde anlamış olsaydım, , numaralı boşluğu yazdı. Bunun yerine
echo string > file
kullanım
echo string>file
ait
Hızlı bir arama Size birden fazla seçenek var gibi görünüyor this link
getirdi. Eğer sonrası yankı bir komut dosyası kullanarak dosyayı ayrıştırmak istiyorsanız, sondaki boşlukları şeritleri bir dosya (genellikle .txt) aracılığıyla hattı ile, çizgi döngüler ve RTrim gerçekleştiren bu VBScript
Do While Not WScript.StdIn.AtEndOfStream
WScript.Echo RTrim(WScript.StdIn.ReadLine)
Loop
, düşünebilirler.
Şerefe sen yerine yaklaşık cmd.exe
konuşuyor varsayarsak
Aynı işlem," for/f "tokens = * delims =" %% x in (file.txt) echo% x> file2.txt ile toplu olarak gerçekleştirilebilir. '. Ama o zaman neden orijinal dosyanızda yapmıyorsunuz? –
gerçek (daha doğrusu eski) MSDOS, bunu yapmanın çeşitli yolları, ilk varlık vardır:
echo Here is some text>output.txt
ama Komut satırında 'argümanları' açık bir şekilde betimlemek için kullanabildiğimden beri, okunabilirlikten biraz daha azını buluyorum.
Alternatif olarak, komut satırı sırasına etrafında takas alıkoyan şey yok: hala çıkış dosyasına koymak, gereksiz boşluklar olmaması iken bağımsız değişkenleri ayırmak sağlayacak
>output.txt echo Here is some text
.
Aslında, sık sık yanı kod blokları için bu yöntemi kullandım:
>output.txt (
echo hello
echo goodbye
)
hangi dosyaya
hem satırları yazacak. Bu durumda tercih ettim, çünkü çıkışın başlangıcında, kod bloğunun sonuna bakıp gitmekten ziyade, çıkışın başladığı yerde doğru bir şekilde biliyorsunuz.
Bir kod bloğu içinde yankılanırken bazen taşıma sırasını kaybedeceğini ve tek bir satırda çıkacağını buldum. –
Ayrıca, önde gelen boşluklarla ilgili sorun yaşadım, bu nedenle yukarıdaki biçimde (^) karta (echo^string1) çıkışını kullandım. Bir tedavi yaptı. – will
'echo İşte bir metin> çıktı.txt ancak, komut satırında 'argümanları' açıkça ifade edebilmek için kullanıyorum beri okunabilir biraz daha az bulabilirsiniz. 'Daha önemlisi, metin bir sayı ile biterse, boru kanalı olarak ele alınacaktır. İkincisi iyi çalışıyor gibi görünüyor (daha önce bu formu görmüyorum). Teşekkürler. – Synetech
Ha! Tam olarak bu! Yankanın tam dizeden sonra çıkacağını bilmiyordum. Teşekkürler! – Rayne
Bu iyi görünüyor, ama işe yaramaz. Bunu deneyin: echo 1 2 3> file'. Dize bir sayı ile bitecek olursa, yönlendirme bunu bir kanal kanalı olarak ele alacaktır. Alıntıya koyabilirsiniz, ancak tırnak içinde istemeyebilirsiniz. – Synetech
@Synetech '(echo 1 2 3)> dosya ' – bers