আমি কীভাবে একটি cmd.exe কমান্ডে একটি নতুন লাইন canোকাতে পারি?


23

আমি cmd.exeনীচের মত কমান্ডের অংশ হিসাবে একটি লাইন ব্রেক বা নতুন লাইন সহ একটি কমান্ড চালানোর চেষ্টা করছি :

command -option:text  
whatever

কিন্তু প্রতিটি নতুন লাইন পরের লাইনে কমান্ড চালিয়ে না দিয়ে কমান্ডটি কার্যকর করে।

তাহলে আমি কীভাবে একটি নতুন লাইন চরিত্রটি ইনপুট করতে পারি, বা সেমিডি.এক্সে একটি বহু-লাইন কমান্ড তৈরি করতে পারি?



উত্তর:


19

^চরিত্রটি একটি পলায়ন হিসাবে ব্যবহার করুন :

command -option:text^

whatever

আমি ধরে নিচ্ছি আপনি উইন্ডোজ এক্সপি বা অনুরূপ থেকে সেমিডি.এক্সই ব্যবহার করছেন। এটি প্রকৃত ডস নয়। আপনি যদি প্রকৃত ডস (এমএস-ডস, উইন 3.1, উইন 95, উইন 98, উইনএমই) ব্যবহার করেন তবে আমি বিশ্বাস করি না যে নিউলাইনগুলির জন্য কোনও অব্যাহতি রয়েছে। আপনার একটি কাস্টম শেল চালানো দরকার। cmd.exe আপনাকে "আরও" জিজ্ঞাসা করবে? প্রতিবার যখন আপনি ^লাইনের শেষে একটি দিয়ে এন্টার টিপেন, কেবল নতুন লাইনে পালাতে / এম্বেড করতে কেবল আবার এন্টার টিপুন।


খুব শীতল, আমি এটা জানতাম না।
টিজে ক্রাউডার

1
আপনি যা পরামর্শ দেন এটি হ'ল আমাকে নতুন লাইনে আরও পাঠ্য প্রবেশ করার অনুমতি দেয়। এটি নতুন লাইন সংরক্ষণ করে না। আমি যা চাই তা হ'ল "পাঠ্য" এবং "যাই হোক না কেন" এর মধ্যে একটি নতুন লাইন। "পাঠ্য \ nwhatever": ভালো কিছু
rudimenter

আমি বিশ্বাস করি যে এটি করতে আপনাকে দুটি নতুন লাইন ব্যবহার করতে হবে, এটি আমার আসল পোস্টে (এখন সম্পাদিত) এ অনুধাবন করার জন্য আমার খারাপ
দারথ অ্যান্ড্রয়েড

1
এটি লক্ষ করা উচিত যে আপনার যদি পাঠ্যের ফাঁকে ফাঁকা জায়গা থাকে তবে আপনাকে সেগুলি উদ্ধৃতিতে আবদ্ধ করতে হবে। আরও, নিশ্চিত করুন যে আপনি শেষের উদ্ধৃতিটি অন্তর্ভুক্ত করেছেন, অন্যথায় ক্যারেটটিকে একটি পালানোর চরিত্র হিসাবে উপেক্ষা করা হবে এবং পাঠ্যের মতো আচরণ করা হবে। শেষ অবধি, আপনাকে স্পেস সমেত প্রতিটি লাইনে পাঠ্যের চারপাশে উদ্ধৃতি লিখতে হবে (এটিতে নিরাপদ থাকার জন্য ফাঁকা স্থান না থাকলেও এটি করুন) এবং অব্যাহত প্রতিটি লাইনটির সমাপনী উদ্ধৃতি দেওয়ার পরে একটি কেরেট রাখুন।
Synetech

1
SHUTDOWN.EXEকমান্ডের মন্তব্যে নতুন লাইন রাখার উপায় খুঁজতে চেষ্টা করে এখানেই শেষ করেছি । আমি এই জাতীয় কিছু ব্যবহার করে শেষ করেছি: shutdown -s -t 900 -c "foo bar"^ > আরও? "baz"^ > আরও? "test that."এটা কাজ করেছে.
Synetech

4

নামপ্যাড সহ আল্ট কোডগুলি ব্যবহার করুন

C:\>ver

Microsoft Windows [Version 6.3.9600]

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

C:\>

সেই লাইন ফিড অক্ষরটি নামপ্যাড ব্যবহার করে সিএমএতে একটি অল্ট কোড হিসাবে প্রবেশ করতে পারে : নুমলক চালু রেখে, ALT চেপে ধরে রাখুন এবং ALT ছাড়ার আগে নামপ্যাডে 10 টাইপ করুন। আপনারও যদি সিআর দরকার হয় তবে সেগুলি Alt + 13 এবং তারপরে Alt + 10 দিয়ে টাইপ করুন:♪◙

দ্রষ্টব্য: এটি কোনও ব্যাচ ফাইলে কাজ করবে না।

নমুনা ব্যবহারের কেস:

কী আছে এবং কী ক্রমে - এর দ্রুত ওভারভিউ পেতে আপনি% PATH% বা% CLASSPATH% পরিবেশের ভেরিয়েবলগুলি পড়ার চেষ্টা করছেন - তবে পাঠ্যের প্রাচীরটি pathঅপঠনযোগ্য। তারপরে এটি এমন কিছু যা আপনি দ্রুত টাইপ করতে পারেন:

echo %path:;=◙% >con

সম্পাদনা:

যোগ করা হয়েছে >conকার্যসংক্রান্ত যে ব্রেন্ট Rittenhouse cmd.exe, যেখানে মূল পদ্ধতি কাজ করা বন্ধ করে ছিল নতুন সংস্করণের জন্য আবিষ্কার করেন।


এটি আমার পক্ষে কাজ করে না বলে মনে হচ্ছে। আমি শেষ দিয়ে শেষ করেছি e2 99 aa e2 97 99? কিছুটা ইউনিকোড কোড পয়েন্ট? আমি দেখতে পাচ্ছি অক্ষরগুলি কমান্ড লাইনে যেতে চাইছে। কোনও পরামর্শ?
ব্র্যাড

@ ব্র্যাড আমি নিশ্চিত করতে পারি যে এটি উইন্ডোজ 10 এর নতুন সেন্টিমিডি.এক্সে আর কাজ করবে বলে মনে হচ্ছে না এবং এমনকি আমার পুরানো উইন্ডোজ 7 বাক্সটি আর এ রকম আচরণ করবে না।
অমিত নাইডু

অদ্ভুত! আমি ভাবছি যদি আমি কোনও কিছুর থেকে কোনও পুরানো সেন্টিমিডি.এক্স.এক্স.টি খুলতে পারি ....
ব্র্যাড

@ ব্র্যাড, আমি কেবল কয়েকটি চেষ্টা করেছি এবং বুঝতে পেরেছি যে আপনি লুসিডা এবং ট্রু টাইপ ফন্টের পরিবর্তে কনসোল বৈশিষ্ট্যে রাস্টার ফন্টগুলিতে স্যুইচ করেন এবং Use legacy consoleচেকবক্সটি চেক করেন তবে আপনি সেই পুরানো আচরণটি পেতে পারেন । তবে এটি একটি উচ্চ রেসিস্ট মনিটরে সত্যিই খারাপ দেখাচ্ছে।
অমিত নাইডু

1
আসলে, আমি মনে করি আমি এমন একটি সমাধান পেয়েছি যা এটির জন্য কোনও ফন্টে সম্পূর্ণরূপে কাজ করে! যদি আপনি কেবল Alt-10 টি অক্ষরের সাথে রেখাটি প্রতিধ্বন করেন এবং তারপরে এটি CON এ পুনর্নির্দেশ করেন তবে এটি কার্যকর হবে! উদাহরণস্বরূপ: (echo New-line detected rigghhhtt ◙^<--- HERE!) > CONপার্শ্ববর্তী প্রথম বন্ধনী alচ্ছিক। আপনি এটি দিয়ে কী করতে পারেন তার আরও দৃ example়
ব্রেন্ট

1

আমি জানি না এটি আপনার পক্ষে কাজ করে কিনা তবে & প্রতিধ্বনির মাধ্যমে (নীচের স্থানটি গুরুত্বপূর্ণ)। আপনি একটি নতুন লাইনে চান প্রতিটি বিবৃতি মধ্যে। আমি কেবল এটির একটি সহজ ব্যাট ফাইল দিয়ে চেষ্টা করেছি

echo %1

তারপরে টেস্টনিউইলাইনস.ব্যাট হিসাবে সেভ করুন

তারপর সেমিডি লাইন

testNewLines first line&echo Second Line&echo Third line

নিম্নলিখিত প্রতিধ্বনিত হচ্ছে প্রতিক্রিয়া

প্রথম লাইন
দ্বিতীয় লাইন
তৃতীয় লাইন


1

অমিতের উত্তরের সম্প্রসারণ ( /superuser//a/1132659/955256 ) আমি উত্তরাধিকারের কনসোলটি ব্যবহার না করে যেকোন ফন্টে এটি করার একটি উপায় পেয়েছি।

আপনাকে যা করতে হবে তা হ'ল খালি -10 অক্ষরের লাইনটি প্রতিধ্বনিত করতে হবে এবং তারপরে এটি পুনর্নির্দেশ করুন conএবং এটি কাজ করবে!

উদাহরণস্বরূপ, প্রদত্ত:

(প্রতিধ্বনি নতুন-রেখা সনাক্ত করেছে rigghhhtt ◙ ^ <--- এখানে!)> কন

সম্পাদনা করুন: মজাদার ঘটনা, দেখে মনে হচ্ছে আপনি পুনঃনির্দেশটি শুরুতে এভাবে রাখতে পারেন:

> সিওন ইকো নতুন-লাইন সনাক্ত করেছে rigghhtt ◙ ^ <--- এখানে!

অদ্ভুত, আহ?

আপনি একটি আউটপুট পাবেন:


New-line detected rigghhhtt  
<-- HERE!

(পার্শ্ববর্তী প্রথম বন্ধনী alচ্ছিক)

আপনি এই এবং ক্যারেজ রিটার্নগুলির সাথে কী করতে পারবেন তার আরও দৃ example় উদাহরণ এখানে এবং এখন সম্পূর্ণ স্বাধীনভাবে !:

সর্বোপরি, আপনি যদি কোনও ফাইলকেও পুনর্নির্দেশ করেন তবে এটি কাজ করে!
(সহজভাবে পরিবর্তন > CONকরুন> desired_output_file.txt

উপভোগ করুন!


1

এর আউটপুট সংরক্ষণযোগ্য

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"

দেখুন, এটা খুব কঠিন নয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.