উইন্ডোজ: কমান্ড প্রম্পটে মাল্টলাইন কমান্ড কীভাবে নির্দিষ্ট করবেন?


170

আমরা কিভাবে পরের লাইনে একটি কমান্ড প্রসারিত করব?

মূলত লিনাক্সের জন্য উইন্ডোজ বিকল্প কি

ls -l \
/usr/

এখানে আমরা পরের লাইনে কমান্ড প্রসারিত করতে ব্যাকস্ল্যাশ ব্যবহার করি

উইন্ডোজের সমতুল্য কি?


সংক্ষিপ্ত এবং সংক্ষিপ্ত ক্যু এন্ড এ, এ ক্যারেট হ্যান্ডলিং আরো বর্ধিত অন্বেষণ জন্য +1 stackoverflow.com/questions/69068/...
অনুজ্জ্বল উইলকি

উত্তর:


295

আমার কীবোর্ডে প্রায় প্রতিটি কী চেষ্টা করার পরে:

C:\Users\Tim>cd ^
Mehr? Desktop

C:\Users\Tim\Desktop>

সুতরাং এটি ^ কী বলে মনে হচ্ছে।


13
মাইক্রোসফ্ট তার নিজস্ব মান মেনে চলতে পারে না যাতে এটি পাওয়ারশলে কাজ করে না। পাওয়ারশেল সমতুল্য C তাই সি: \ ব্যবহারকারীগণ \ টিম> সিডি `>> ডেস্কটপ আপনাকে টিমের ডেস্কটপ
G

3
@ রিকজেফে কেন এটি করা উচিত? পাওয়ারশেল সম্পূর্ণ আলাদা! পিএসের জন্য সমমানের কী `
হোয়াটহিসডিং

এটি পাওয়ারশেলের কী আছে তা সম্পর্কে কোনও ধারণা?
রায়ান

3
@ রায়ানসানওয়াট্রাস একই বৈজ্ঞানিক পদ্ধতি ব্যবহার করে: `(লাক্সেমন্ত সমাধি)
টিম্বো

57

উইন্ডোজ কমান্ড প্রম্পটে ^কমান্ড লাইনের পরবর্তী অক্ষরটি থেকে বাঁচতে ব্যবহৃত হয়। (যেমন \স্ট্রিংগুলিতে ব্যবহৃত হয়।) কমান্ড লাইনে যে অক্ষরগুলি ব্যবহার করা দরকার সেগুলির একটি a উপসর্গ করা উচিত, তাই এটি নতুন লাইনের জন্য কাজ করে।

রেফারেন্সের জন্য যে অক্ষরগুলি পালানোর দরকার হয় (যদি কমান্ড আর্গুমেন্ট হিসাবে উল্লেখ করা হয় এবং উদ্ধৃতিতে নয়) are &|()

সুতরাং আপনার লিনাক্স উদাহরণের সমতুল্য হবে ( আরও? প্রম্পট হওয়া):

C:\> dir ^
More? C:\Windows

15
'^' অক্ষরটি সর্বশেষ লাইনে থাকা উচিত। অন্যথায় যদি আপনার শেষে স্পেস থাকে, মাল্টলাইন কমান্ডটি কাজ করে না।
Dmytro Ovdiienko

6

ক্যারেট চরিত্রটি কাজ করে, তবে পরবর্তী লাইনটি ডাবল উদ্ধৃতি দিয়ে শুরু করা উচিত নয়। যেমন এটি কাজ করবে না:

C:\ ^
"SampleText" ..

ডাবল উদ্ধৃতি ব্যতীত পরবর্তী লাইনটি শুরু করুন (বৈধ উদাহরণ নয়, কেবল উদাহরণস্বরূপ)


1

আপনি যদি এখানে এই প্রশ্নের উত্তর খুঁজতে এসেছেন তবে ওপি বলতে ঠিক তার মতো নয়, যেমন আপনি কীভাবে একক লাইনে মাল্টি-লাইন সিএমডি পেতে পারেন তবে আমার কাছে আপনার জন্য এক ধরণের বিপজ্জনক উত্তর রয়েছে have

বাস্তবে পাইপিং ব্যবহার করে এমন জিনিসগুলির সাথে এটি ব্যবহার করার চেষ্টা করা যেমন বলা findstrযথেষ্ট সমস্যাযুক্ত। একই সাথে কাজ করে elseএস। তবে আপনি যদি কোনও মাল্টি-লাইন শর্তসাপেক্ষ কমান্ড সরাসরি সিএমডি থেকে চালাতে চান এবং কোনও ব্যাচের ফাইলের মাধ্যমে নয়, এটি ভালভাবে কাজ করবে।

ধরা যাক আপনার একটি ব্যাচে এমন কিছু রয়েছে যা আপনি সরাসরি কমান্ড প্রম্পটে চালাতে চান:

@echo off
for /r %%T IN (*.*) DO (
    if /i "%%~xT"==".sln" (
        echo "%%~T" is a normal SLN file, and not a .SLN.METAPROJ or .SLN.PROJ file
        echo Dumping SLN file contents
        type "%%~T"
    )
)

এখন, আপনি লাইন-ধারাবাহিকতা ক্যারেট ( ^) ব্যবহার করতে পারেন এবং ম্যানুয়ালি এটি এ জাতীয়ভাবে টাইপ করতে পারেন, তবে সতর্কতা, এটি ক্লান্তিকর এবং যদি আপনি জগাখিচুড়ি হন তবে আপনি এটি আবার টাইপ করার আনন্দটি শিখতে পারেন।

ঠিক আছে, এটি প্রথম ^বন্ধনী শ্রাগের অন্তর্ভুক্ত প্রক্রিয়াগুলি পালনের জন্য ধন্যবাদ দিয়ে কাজ করবে না অন্তত লিখিতভাবে নয়। আপনার আসলে ক্যারেটগুলি দ্বিগুণ করতে হবে:

@echo off ^
More? for /r %T IN (*.sln) DO (^^
More? if /i "%~xT"==".sln" (^^
More? echo "%~T" is a normal SLN file, and not a .SLN.METAPROJ or .SLN.PROJ file^^
More? echo Dumping SLN file contents^^
More? type "%~T"))

পরিবর্তে, আপনি |লুপ / ​​এক্সপ্রেশনের ধারাবাহিকতা অনুযায়ী একক পাইপ ( ) এর জন্য অদলবদল করে ট্র্যাকের যে কোনও ক্যারেটের প্রয়োজন নেই তার ট্র্যাকের ভুল দিক থেকে একটি নোংরা লুক্কায়িত লেখক হতে পারেন :

@echo off
for /r %T IN (*.sln) DO if /i "%~xT"==".sln" echo "%~T" is a normal SLN file, and not a .SLN.METAPROJ or .SLN.PROJ file | echo Dumping SLN file contents | type "%~T"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.