Komut isteminde TAB karakterini nasıl eko ederim?


21

Windows toplu iş dosyasında, bir yankılanmanın doğru yolu TABnedir?

echo A<TAB>B<TAB>C

TABKarakterleri girdiler arasında yazabileceğimi biliyorum , fakat çoğu editör onu boşluk dizisi olarak gösterecek. Hatta bazıları otomatik olarak boşluklara çevirecek, daha görsel bir şey arıyorum.

Açıklama: <TAB> Burada gerçek tab karakterini ifade eder. Bir toplu komut dosyasında C \ t arıyorum.


Editörleri denediniz ve "en" ekran sekmesini boşluk dizisi olarak mı buldunuz? hangileri? Denedim ilk editör not defteri ve sekmeleri sekme olarak görüntüler.
barlop

Yanıtlar:


17

Sadece TABonu destekleyen bir editörde tuşuna basın, örneğin Not Defteri.

Yani, eğer buna girersem:

@echo 1<TAB>b
@echo 2<TAB>c

Bununla sonuçlanır:

görüntü tanımını buraya girin


1
İşe yarıyor ve nasıl yapıyorum. Sorun, dosyayı düzenleyen herhangi birinin kasıtlı olduğunu fark etmeden garip bir şekilde konumlandırılmış bir sekmeyi değiştirmesidir.
Haas

5
@Haas: set TAB=<TAB>Sekme karakteri olduğunu ve ardından kullanmaya başladığını açıklamaya ne dersiniz %TAB%? Bildiğim kadarıyla, echosadece ayrıştırır %...%. Bildiğim kadarıyla yerleşik sekme karakteri yok ...
Tamara Wijsman

@barlop: Ne ...............? xD
Tamara Wijsman

1
Tom Wijsman'ın önerisini kullanıyorum, ancak alıntı yapıyorum. SET "TAB= "boşluk, aslında bir SEKME (0x09) karakteridir. Açıkçası yetersiz kalıyor, ama gördüğüm en iyi alternatif gibi görünüyor.
yandı

SEKME tuşuna basarak SEKME karakterini elde etmek için, cmd /F:OFF/ dir dosyasının otomatik olarak tamamlanmasını devre dışı bırakmak gibi bir komut istemi başlatmalısınız . İsimler ...
aschipfl 13:17

11

Çözümlerden biri, SEKME adlı bir ortam değişkeni ayarlayıp, değeri gerçek sekme karakterine ayarlayabilmenizdir. Doğru girilmesi için sekme karakterini bir metin düzenleyiciden kopyalayıp yapıştırmanız gerekebilir. Bunu Windows 7'de denedim ve işe yarıyor.

Toplu iş dosyanızda, sadece% TAB% kullanın ve bir sekme karakteri ekleyecektir.


3
+1, birileri size oy verdi, belki bu cevap yorumlarda bir yerde bulunabilirse. Ancak cevaplar cevaplarda bulunmalı ve yorumlarda bulunmamalı, bu yüzden benden bir artı
mucize173

3

Bunun gibi sınırlamalar, Windows Script Host veya Powershell kullanma nedenleri arasındadır.

Windows Komut Dosyası Sistemi , 98'den sonraki her Windows sürümüyle birlikte gelir ve gönderilir (95 ve NT 4'e yüklenebilir).

Adı verilen bir dosya oluşturun demo.vbsve aşağıdaki satırı içine yapıştırın ve kaydedin.

WScript.StdOut.WriteLine "a" + chr(9) + "b"

Şimdi, kaydettiğiniz dizinden şunu girin:

demo.vbs

ve görmelisin:

a       b

Ayrıca yapabilirsiniz

cscript demo.vbs

hangi sağlayan komut satırı anahtarlarını kullanmanıza izin verecektir cscript.

(Vista'da test edilmiştir.)


Powershell çok iyi olurdu, ama her zaman uygun değil ...
Haas

@Haas: Lütfen düzenlenmiş cevabımı gör.
sonraki duyuruya kadar duraklatıldı.

Sağol Dennis. Daha yeni ve daha iyi bir şey kullanmayı çok isterdim, ancak bu komut dosyası için sahip olduğum tek seçenek bu.
Haas

@Haas: Sadece "daha görsel bir şey arıyorum" şartı olduğunu düşündüm.
sonraki duyuruya kadar duraklatıldı.

1

Bir toplu iş dosyasında powershell kullanarak bir satırlık çözüm:

Powershell -noprofile -nologo -command Write-Output "a`tb`tc"

`t sekme karakteridir


Ah, powershell, birileri daha önce söylemediği sürece tabudur.
Pacerier

0

Sekmeleri sağlam tutan bir düzenleyici kullandığınız sürece, sed'i indirip yolunuza koyabilir ve ardından şöyle bir şey yapabilirsiniz:

echo "A`B`C" | sed 's/\t/<TAB>/g'

her biri gerçek bir sekme için durur.



-1

Temel yol, ancak iyi bilinmeyen, TABdüz ASCII chr (9) kullanarak CMD'ye göndermektir . Sol-ALT tuşunu aynı anda tutarken bu özel karakter, sayısal klavyede 9 tuşuna basılarak çağrılabilir. Koyu renkli görünen Char görünmelidir, aksi halde bir tür kodlama veya klavye eşlemesi açıktır.

Editörünüz düz ASCII kodlamasına veya ikili moda ayarlandıysa, bu sırayı dosyaya kaydedebilirsiniz. Eğer böyle bir şeye sahip değilseniz, CMD yazmayı deneyin:

ECHO a (sequence LALT+9) b > tabchk.bat tabchk.bat


2
Sadece sekmeye basmaktan daha iyi / farklı mı?
Máté Juhász
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.