मैं कमांड प्रॉम्प्ट पर TAB char को कैसे गूँजता हूँ


21

एक विंडोज़ बैच फ़ाइल पर, क्या प्रतिध्वनित करने का उचित तरीका है TAB?

echo A<TAB>B<TAB>C

मुझे पता है कि मैं TABप्रविष्टियों के बीच चार टाइप कर सकता हूं , लेकिन अधिकांश संपादक इसे रिक्त स्थान के अनुक्रम के रूप में प्रदर्शित करेंगे। कुछ भी स्वचालित रूप से उन्हें रिक्त स्थान में बदल देंगे, मैं कुछ और दृश्य की तलाश कर रहा हूं।

स्पष्टता: <TAB> यहां वास्तविक टैब चार का मतलब है। मैं C \ t बैच स्क्रिप्ट में देख रहा हूँ।


आपने संपादकों की कोशिश की और रिक्त स्थान के अनुक्रम के रूप में "सबसे" डिस्प्ले टैब पाया? वो कौन से हैं मैंने पहले संपादक की कोशिश की थी नोटपैड और वह टैब को टैब के रूप में प्रदर्शित करता है।

जवाबों:


17

बस TABएक संपादक की कुंजी मारो जो इसे समर्थन करता है, उदाहरण के लिए नोटपैड।

इसलिए, यदि मैं इसे दर्ज करता हूं:

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

इसका परिणाम यह होगा:

यहाँ छवि विवरण दर्ज करें


1
यह काम करता है, और यह है कि मैं इसे कैसे कर रहा हूं। समस्या यह है कि फ़ाइल को संपादित करने वाला कोई भी व्यक्ति जानबूझकर पोस्ट किए गए टैब को बदल सकता है, यह जानबूझकर नहीं है।
हास

5
@ हस: set TAB=<TAB>यह स्पष्ट करने के बारे में क्या है कि यह टैब चरित्र है और फिर %TAB%बाद में उपयोग कर रहा है? जहां तक ​​मेरी जानकारी है, echoकेवल परस है %...%। जहाँ तक मुझे जानकारी नहीं है, वहाँ बिल्ट-इन टैब कैरेक्टर नहीं है ...
तमारा विज्समैन

@barlop: क्या ...............? xD
तमारा विज्समैन

1
मैं टॉम विज्समैन के सुझाव का उपयोग करता हूं, लेकिन उद्धरण के साथ। SET "TAB= "जहां व्हाट्सएप वास्तव में एक TAB (0x09) चरित्र है। यह स्पष्ट रूप से उप-रूपी है, लेकिन यह सबसे अच्छा विकल्प है जो मैंने देखा है।
जलाया

TAB कुंजी दबाते समय TAB वर्ण प्राप्त करने के लिए, आपको कमांड प्रॉम्प्ट शुरू करना चाहिए जैसे cmd /F:OFFकि फ़ाइल / डीआईआर के ऑटो-पूरा को अक्षम करना। नाम ...
aschipfl

11

एक समाधान यह है कि आप TAB नामक एक पर्यावरण चर सेट कर सकते हैं और वास्तविक टैब वर्ण पर मान सेट कर सकते हैं। इसे सही ढंग से दर्ज करने के लिए आपको टेक्स्ट एडिटर से टैब कैरेक्टर को कॉपी और पेस्ट करना पड़ सकता है। मैंने विंडोज 7 में यह कोशिश की है और यह काम करता है।

अपनी बैच फ़ाइल में, बस% TAB% का उपयोग करें और यह एक टैब वर्ण सम्मिलित करेगा।


3
अगर किसी को यह जवाब टिप्पणियों में कहीं मिल सकता है तो शायद किसी ने आपको वोट दिया है। लेकिन जवाब जवाब में मिलना चाहिए और टिप्पणियों में नहीं इसलिए मुझसे एक
उभार

3

इस तरह की सीमाएं विंडोज स्क्रिप्ट होस्ट या पॉवर्सशेल का उपयोग करने के कारणों में से हैं।

विंडोज स्क्रिप्ट होस्ट को 98 से हर विंडोज़ संस्करण के साथ शिप (जहाज) किया गया और इसे 95 और NT 4 पर स्थापित किया जा सकता है।

नामक एक फाइल बनाएं demo.vbsऔर उसमें निम्न पंक्ति पेस्ट करें और इसे सहेजें।

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

अब, उस निर्देशिका से, जहाँ आपने इसे सहेजा था, दर्ज करें:

demo.vbs

और आपको देखना चाहिए:

a       b

आप भी कर सकते हैं

cscript demo.vbs

जो आपको कमांड लाइन स्विच का उपयोग करने की अनुमति देगा जो cscriptप्रदान करता है।

(विस्टा पर परीक्षण किया गया।)


Powershell बहुत अच्छा होगा, लेकिन यह हमेशा उपलब्ध नहीं है ...
Haas

@ हस: कृपया मेरा संपादित उत्तर देखें।
अगली सूचना तक रोक दिया गया।

धन्यवाद डेनिस। मैं कुछ नया और बेहतर उपयोग करना पसंद करूंगा, लेकिन मेरे पास इस विशिष्ट स्क्रिप्ट के लिए एक विकल्प है।
हास

@ हस: मैंने बस सोचा था कि "मैं कुछ और दृश्य की तलाश कर रहा हूं" एक आवश्यकता थी।
अगली सूचना तक रोक दिया गया।

1

यहाँ एक बैच फ़ाइल में पॉवरशेल का उपयोग करते हुए एक पंक्ति समाधान है:

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

`t टैब वर्ण है


आह, शक्तियां वर्जित है जब तक कि किसी ने पहले ही यह नहीं कहा है।
पचेरियर

0

जब तक आप एक संपादक का उपयोग कर रहे हैं जो टैब को बरकरार रखता है, आप sed डाउनलोड कर सकते हैं और इसे अपने रास्ते पर रख सकते हैं, और फिर आप कुछ ऐसा कर सकते हैं:

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

जहां प्रत्येक `एक वास्तविक टैब के लिए खड़ा है।



-1

मूल तरीका, लेकिन अच्छी तरह से ज्ञात नहीं है, भेजना है TAB सादे ASCII chr (9) का उपयोग करके सीएमडी है। एक ही समय में लेफ्ट-एएलटी को पकड़ते हुए संख्यात्मक कीबोर्ड पर 9 दबाकर इस विशेष चर का आह्वान किया जा सकता है। चार जो बोल्ड ओ के रूप में दिखते हैं, उन्हें दिखाई देना चाहिए, अन्यथा किसी प्रकार का एन्कोडिंग या कीबोर्ड मैपिंग चालू है।

यदि आपका संपादक ASCII एन्कोडिंग, या बाइनरी मोड पर सेट किया गया था, तो आप इस अनुक्रम को फ़ाइल करने के लिए सहेज सकते हैं। यदि आपके पास ऐसा नहीं है, तो CMD टाइप करने का प्रयास करें:

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


2
केवल टैब दबाने से यह कैसे बेहतर / भिन्न है?
माते जुहेज़
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.