मैं cmd.exe कमांड में एक नई लाइन कैसे डाल सकता हूं?


23

मैं एक कमांड को निष्पादित करने की कोशिश कर रहा हूं cmd.exe, लाइन ब्रेक या कमांड के हिस्से के रूप में नई लाइन, नीचे की तरह:

command -option:text  
whatever

लेकिन हर नई लाइन कमांड को निष्पादित करता है, बजाय अगली पंक्ति पर कमांड जारी रखने के।

तो मैं एक नई लाइन वर्ण कैसे इनपुट कर सकता हूं, या cmd.exe में एक बहु-पंक्ति कमांड बना सकता हूं?



जवाबों:


19

^भागने के रूप में चरित्र का उपयोग करें :

command -option:text^

whatever

मैं मान रहा हूँ कि आप Windows XP या इसी तरह के cmd.exe का उपयोग कर रहे हैं। यह वास्तविक डॉस नहीं है। यदि आप वास्तविक डॉस (MS-DOS, Win3.1, Win95, Win98, WinME) का उपयोग कर रहे हैं, तो मुझे विश्वास नहीं है कि नई सुर्खियों के लिए एक पलायन है। आपको एक कस्टम शेल चलाने की आवश्यकता होगी। cmd.exe आपको "अधिक" के लिए संकेत देगा? हर बार जब आप ^लाइन के अंत में एंटर दबाते हैं, तो एक न्यूलाइन से बचने / एम्बेड करने के लिए बस फिर से एंटर करें।


बहुत अच्छा, मुझे नहीं पता था कि।
टीजे क्राउडर

1
यह जो आप सुझाते हैं, वह मुझे एक नई पंक्ति में अधिक पाठ दर्ज करने की अनुमति देता है। यह न्यूलाइन को संरक्षित नहीं करता है। जो मैं चाहता हूं, वह है "पाठ" और "जो कुछ भी" एक नई पंक्ति है। कुछ इस तरह: "पाठ \ nwhatever"
rudimenter

मेरा मानना ​​है कि ऐसा करने के लिए आपको दो नई कहानियों का उपयोग करना होगा, मेरे मूल पोस्ट (अब संपादित) में इसे साकार नहीं करने के लिए मेरा बुरा
डार्थ एंड्रॉइड

1
यह ध्यान दिया जाना चाहिए कि यदि आपके पास पाठ में स्थान हैं, तो आपको उन्हें उद्धरणों में लपेटने की आवश्यकता होगी। इसके अलावा, सुनिश्चित करें कि आप अंतिम उद्धरण को शामिल करते हैं, अन्यथा कैरेट को बच चरित्र के रूप में अनदेखा किया जाएगा और पाठ की तरह व्यवहार किया जाएगा। अंत में, आपको प्रत्येक पंक्ति में रिक्त स्थान वाले पाठ के चारों ओर उद्धरण देने की आवश्यकता होगी (ऐसा करें भले ही इसमें रिक्त स्थान सुरक्षित न हों), और जारी रहने वाली प्रत्येक पंक्ति के लिए बंद होने के बाद एक कैरेट डालें।
सिनेटेक

1
एक SHUTDOWN.EXEकमांड के कमेंट में नई सुर्खियां बटोरने का एक तरीका खोजने की कोशिश में मैं यहां आ गया । मैंने कुछ इस तरह का उपयोग करके समाप्त किया: shutdown -s -t 900 -c "foo bar"^ > अधिक? "baz"^ > और? "test that."इसने काम कर दिया।
सिनेटेक

4

सुन्नत के साथ Alt कोड का उपयोग करें

C:\>ver

Microsoft Windows [Version 6.3.9600]

C:\>echo Line1◙Line2 >con
Line1
Line2

C:\>

उस लाइन फीड कैरेक्टर को numpad का उपयोग करके CLI पर एक Alt कोड के रूप में दर्ज किया जा सकता है : NumLock पर, ALT दबाए रखें और ALT जारी करने से पहले numpad पर 10 टाइप करें। यदि आपको CR की आवश्यकता है, तो उन दोनों को Alt + 13 और फिर Alt + 10 के साथ टाइप करें:♪◙

नोट: यह बैच फ़ाइल में काम नहीं करेगा।

नमूना उपयोग के मामले:

आप वहाँ क्या है और किस क्रम में - का त्वरित अवलोकन प्राप्त करने के लिए% PATH% या% CLASSPATH% पर्यावरण चर को पढ़ने की कोशिश कर रहे हैं - लेकिन पाठ की दीवार जो pathअप्राप्य है। तो यह एक ऐसी चीज है जिसे आप जल्दी से टाइप कर सकते हैं:

echo %path:;=◙% >con

संपादित करें:

जोड़ा >conवैकल्पिक हल है कि ब्रेंट रिटेनहाउस cmd.exe, जहां मूल विधि काम करना बंद कर दिया था के नए संस्करण के लिए खोज की।


यह मेरे लिए काम नहीं करता है। मैं अंत e2 99 aa e2 97 99में पास हो गया। कुछ प्रकार के यूनिकोड कोड बिंदु? मुझे लगता है कि वर्ण कमांड लाइन पर चलते हैं। कोई सुझाव?
ब्रैड

@ ब्रैड मैं यह पुष्टि कर सकता हूं कि यह विंडोज 10 में नए cmd.exe में कोई काम नहीं करता है और यहां तक ​​कि मेरा पुराना विंडोज 7 बॉक्स भी इस तरह से व्यवहार नहीं करेगा।
अमित नायडू

अजीब! मुझे आश्चर्य है कि अगर मैं किसी पुराने cmd.exe को कुछ से खोद सकता हूं ....
ब्रैड

@ ब्रैड, मैंने अभी और कुछ चीजों की कोशिश की और महसूस किया कि आप उस पुराने व्यवहार को प्राप्त कर सकते हैं यदि आप ल्यूसिडा और ट्रू टाइप फोंट के बजाय कंसोल प्रॉपर्टीज में रैस्टर फोंट पर स्विच करते हैं और Use legacy consoleचेकबॉक्स चेक करते हैं । लेकिन यह एक उच्च Res मॉनिटर पर वास्तव में बुरा लगता है।
अमित नायडू

1
वास्तव में, मुझे लगता है कि मुझे एक समाधान मिल गया है जो इसके लिए पूरी तरह से किसी भी फ़ॉन्ट में काम करता है! यदि आप बस alt-10 वर्णों के साथ पंक्ति को प्रतिध्वनित करते हैं और फिर इसे CON में पुनर्निर्देशित करेंगे तो यह काम करेगा! उदाहरण के लिए: (echo New-line detected rigghhhtt ◙^<--- HERE!) > CONआसपास के कोष्ठक वैकल्पिक हैं। यहाँ आप इस के साथ क्या कर सकते हैं (और गाड़ी रिटर्न जो अब काम करते हैं, और पूरी तरह से स्वतंत्र रूप से!) का एक और अधिक मजबूत उदाहरण है: i.imgur.com/qqN37PH.png
ब्रेंट

1

मुझे नहीं पता कि यह आपके लिए काम करेगा लेकिन इको और इको (निम्नलिखित स्थान महत्वपूर्ण है) डालकर। प्रत्येक कथन के बीच जो आप एक नई लाइन पर चाहते हैं। मैंने केवल एक साधारण बैट फाइल के साथ यह कोशिश की

echo %1

फिर बचाया कि testNewLines.bat के रूप में

तो फिर cmd लाइन

testNewLines first line&echo Second Line&echo Third line

निम्नलिखित में परिणामित प्रतिध्वनित किया जा रहा है

पहली पंक्ति
दूसरी पंक्ति
तीसरी पंक्ति


1

अमित के जवाब पर विस्तार ( /superuser//a/1132659/955256 ) मुझे विरासत कंसोल का उपयोग किए बिना किसी भी फ़ॉन्ट में इसे करने का एक तरीका मिला।

आपको बस एल्टी -10 अक्षरों के साथ लाइन को गूंजना है और फिर इसे रीडायरेक्ट करना है con और यह काम करेगा!

उदाहरण के लिए, दिया गया:

(गूंज नई-लाइन का पता चला रिगघट <^ <--- यहां!)> कांग्रेस

संपादित करें: मजेदार तथ्य, ऐसा लगता है कि आप इस तरह शुरुआत में पुनर्निर्देशन डाल सकते हैं:

> कान गूंज नई-लाइन का पता चला रिगघट ◙ ^ <--- यहां!

अजीब, एह?

आपको इसका आउटपुट मिलेगा:


New-line detected rigghhhtt  
<-- HERE!

(आसपास के कोष्ठक वैकल्पिक हैं।)

यहाँ एक और अधिक मजबूत उदाहरण है कि आप इस और कैरिज रिटर्न के साथ क्या कर सकते हैं जो अब काम करते हैं, और पूरी तरह से स्वतंत्र रूप से !:

यदि आप किसी फ़ाइल पर रीडायरेक्ट करते हैं, तो सबसे अच्छा, यह काम करता है!
(बस बदलते हैं> CON करने के लिए जाते हैं> desired_output_file.txt

का आनंद लें!


1

^ 's उत्पादन करने योग्य हैं

set br= ^
<</br (newline)>>
<</br>>

उदाहरण:

@echo off
setlocal enableExtensions enableDelayedExpansion
rem cd /D "%~dp0"


rem //# need 2 [/br], can't be saved to a var. by using %..%;
set br= ^



set "t=t1!br!t2!br!t3"

for /f "tokens=* delims=" %%q in ("!t!") do (
    echo %%q
)


:scIn
rem endlocal
pause
rem exit /b

; उत्पादन:

t1
t2
t3
Press any key to continue . . .

0

मेरा मानना ​​है कि आप विंडोज cmd.exeशेल से ऐसा नहीं कर सकते । ( यह डॉस नहीं है )


आपको उसके लिए पूर्ण "कस्टम शेल" की आवश्यकता नहीं है। आपको केवल कुछ इस तरह लिखना होगा (उदाहरण पायथन में ):

import subprocess
subprocess.call(["C:\\bin\\sometool.exe", "test\nwith\nnewlines"])

या रूबी:

Kernel::exec "C:\\bin\\sometool.exe", "test\nwith\nnewlines"

देखिए, यह इतना कठिन नहीं है।

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