আমি আমার বন্ধুর সাথে যুক্তি দিয়েছিলাম যে কমান্ড প্রম্পটটি কেবলমাত্র এমএস-ডসের একটি জিইউআই সংস্করণ যা উইন্ডোজ ফর্মের পরিবেশে কাজ করে। তিনি আমার সাথে পুরোপুরি একমত নন।
কে ঠিক আছে?
cmd.exe
এমএস-ডস থেকে সম্পূর্ণ ভিন্ন প্রাণী।
আমি আমার বন্ধুর সাথে যুক্তি দিয়েছিলাম যে কমান্ড প্রম্পটটি কেবলমাত্র এমএস-ডসের একটি জিইউআই সংস্করণ যা উইন্ডোজ ফর্মের পরিবেশে কাজ করে। তিনি আমার সাথে পুরোপুরি একমত নন।
কে ঠিক আছে?
cmd.exe
এমএস-ডস থেকে সম্পূর্ণ ভিন্ন প্রাণী।
উত্তর:
এটি একবার সত্য ছিল, কিন্তু এটি আর হয় না।
থেকে এমএস ডস # উইন্ডোজ কম্যান্ড-লাইন ইন্টারফেস - উইকিপিডিয়া :
মাইক্রোসফ্ট উইন্ডোজের সমস্ত সংস্করণে এমএস-ডস যেমন কমান্ড-লাইন ইন্টারফেস (সিএলআই) রয়েছে। এটি একই কমান্ড-লাইন সেশনে অনেক ডস এবং বিভিন্নভাবে উইন 32, ওএস / 2 1.x এবং পিক্সিক্স কমান্ড লাইন ইউটিলিটিগুলি চালাতে পারে, যাতে কমান্ডগুলির মধ্যে পাইপিংয়ের অনুমতি দেয়। ব্যবহারকারী ইন্টারফেস এবং উইন্ডোজ 2000 পর্যন্ত আইকনটি স্থানীয় এমএস-ডস ইন্টারফেসটি অনুসরণ করে।
গ্রাহক উইন্ডোজ (3.11 অবধি, উইন 9 এক্স, উইনএমই) এমএস-ডসের শীর্ষে চলমান গ্রাফিকাল ইউজার ইন্টারফেস (জিইউআই) হিসাবে দৌড়েছিল। উভয় অপারেটিং সিস্টেমকে সম্পূর্ণ প্যাকেজ হিসাবে বিবেচনা করে উইন্ডোজ 95, 98, এবং এমই এর সাথে এমএস-ডস অংশ সংহত করা হয়েছিল। কমান্ড লাইনটি উইন্ডোজ মডিউল (উইনলডাপ.মোড) এর মাধ্যমে ডস কমান্ড লাইনটি (সাধারণত কমান্ড ডট কম) অ্যাক্সেস করে।
উইন্ডোজের একটি নতুন লাইন, (উইন্ডোজ এনটি), কার্নেলটি দিয়ে বুট করে যার একমাত্র উদ্দেশ্য উইন্ডোজ লোড করা। ওএস / ২, ইউএনআইএক্স বা কনজিউমার উইন্ডোজ যেভাবে অক্ষর মোড সেশনগুলি চালু করতে পারে তাতে লোডার সিস্টেমে উইন 32 অ্যাপ্লিকেশনগুলি চালানো যায় না।
সুতরাং না, এনটি পরিবার থেকে প্রতিটি উইন্ডোজে (যেমন, এক্সপি, ভিস্তা,,, ৮) কমান্ড প্রম্পট এবং এমএস-ডস দৃশ্যত সমান, তবে একেবারেই আলাদা।
তারা ভিন্ন জিনিস - দ্য কমান্ড প্রম্পট না MS-DOS এর হয় - কিন্তু যতদূর ব্যবহারকারী সংশ্লিষ্ট হয় তারা পারে একই জিনিস হতে হিসাবে তারা একই জিনিস না।
সুতরাং এটি আপনার দৃষ্টিকোণের উপর নির্ভর করে। প্রযুক্তিগত দৃষ্টিকোণ থেকে আপনার বন্ধুটি এটি সঠিক, তবে ব্যবহারকারীর দৃষ্টিকোণ থেকে আপনি সঠিক (যেমন কোনও বিশেষজ্ঞের মধ্যে যে মতপার্থক্য রয়েছে তা সাজান)।
(যদি না আপনার সমতার সংজ্ঞাটি অতীতকে প্রসারিত না করে » এটি একটি পাঠ্য ইন্টারফেস এবং আমি এটি থেকে প্রোগ্রাম চালাতে পারি « )
আপনি যখন স্টার্ট মেনুতে কমান্ড প্রম্পট ক্লিক করবেন তখন উইন্ডোজ কমান্ড প্রসেসর, ওরফে cmd.exe
। এর অন্তর্নির্মিত কমান্ড এবং স্ক্রিপ্টিং সিনট্যাক্স (অনেকগুলি quirks সহ) command.com
সিপি / এম এবং পরবর্তীকালে এমএস-ডস থেকে প্রাচীন উপর ভিত্তি করে তৈরি করা হয়েছে , তবে এগুলি ছাড়াও তারা সম্পূর্ণ পৃথক জিনিস। এছাড়াও, command.com
একটি 16 বিট প্রোগ্রাম যখন cmd.exe
একটি নেটিভ উইন্ডোজ কনসোল অ্যাপ্লিকেশন।
উইন্ডোজ 95, 98 এবং এমই তে জিনিসগুলি পৃথক ছিল যেখানে command.com
হাইপারভাইজার হিসাবে অভিনয় করার সাথে একটি এমএস-ডস ভিএম চালিত হবে (হ্যাঁ, তারা ইতিমধ্যে এই ধরণের জিনিস আগে থেকেই ছিল)। সেখানে আপনার একটি পুরো ভার্চুয়াল মেশিন ডস চালিত ছিল। তবে উইন্ডোজ এনটি, 2000, এক্সপি, ভিস্তা এবং 7 - নম্বরে। ডস কেবল সেখানে বাস করে যেখানে ntvdm.exe
এনটি ভার্চুয়াল ডস মেশিন রয়েছে যা কেবল একটি পাতলা এমুলেশন স্তর ক্যাপচার করে যে সিপিইউ সরাসরি চালাতে পারে না (যার কারণে এটি দ্রুত কাজ করে তবে ডসবক্সের চেয়ে খারাপ কাজ করে)।
যাইহোক, এমনকি command.com
ডসগুলির জন্য কেবল একটি শেল ছিল। এটি অপারেটিং সিস্টেম ছিল না।
অভ্যন্তরে, আমি প্রকৃতপক্ষে প্রতিটি সময়ই দেখি লোকেদের এমএস-ডস হিসাবে ধূসর-অন-কালো টেক্সটযুক্ত একটি উইন্ডোতে উল্লেখ করছে। বেশিরভাগ ক্ষেত্রে তারা আসলে জানে না তারা কী উল্লেখ করছে।
আমি যা বুঝি সে থেকে এমএস-ডস হ'ল ডিস্ক অপারেটিং সিস্টেম যা মাইক্রোসফ্ট প্রকাশ করে। কমান্ড প্রম্পট হ'ল গ্রাফিকাল ইন্টারফেস যা আপনাকে আপনার অপারেটিং সিস্টেমের সাথে ইন্টারঅ্যাক্ট করতে দেয়।
কমান্ড প্রম্পট হ'ল কমান্ড লাইন ইন্টারপ্রেটার অ্যাপ্লিকেশন যা বেশিরভাগ উইন্ডোজ অপারেটিং সিস্টেমে উপলভ্য হয় যা আনুষ্ঠানিকভাবে উইন্ডোজ কমান্ড প্রসেসর নামে পরিচিত কিন্তু কখনও কখনও কমান্ড শেল নামে পরিচিত। কমান্ড প্রম্পট একটি উইন্ডোজ প্রোগ্রাম যা এমএস-ডস-তে উপলব্ধ কমান্ড লাইন ক্ষমতার অনেকগুলি অনুকরণ করে তবে এটি এমএস-ডস নয়।
কমান্ড প্রম্পট এমএস-ডস-এ কমান্ড ডট কমের একটি জিইউআই সংস্করণ। cmd.exe একটি উইন্ডোজ অ্যাপ্লিকেশন যা সাধারণত উইন 32 কনসোলটিতে চলমান। এটি প্ল্যাটফর্মের নেটিভ প্রোগ্রামগুলিতে উপলব্ধ বৈশিষ্ট্যগুলির সুবিধা গ্রহণের অনুমতি দেয় যা ডস প্রোগ্রামগুলিতে অন্যথায় অনুপলব্ধ।
উদাহরণস্বরূপ, যেহেতু cmd.exe ওএস / ২-তে একটি স্থানীয় পাঠ্য-মোড অ্যাপ্লিকেশন, তাই এটি কমান্ড পাইপলাইনে আসল পাইপগুলি ব্যবহার করতে পারে, পাইপলাইনের উভয় দিককে একযোগে চলতে দেয়। ফলস্বরূপ, COMMAND.COM এর বিপরীতে, cmd.exe এ স্ট্যান্ডার্ড ত্রুটি পুনর্নির্দেশ করা সম্ভব। (COMMAND.COM অস্থায়ী ফাইলগুলি ব্যবহার করে এবং উভয় পক্ষকে ক্রমিকভাবে একের পর এক চালিত করে))
বাস্তবে, cmd.exe একটি উইন্ডোজ প্রোগ্রাম যা ডস-এর মতো কমান্ড লাইন ইন্টারপ্রেটার হিসাবে কাজ করে। এটি সাধারণত সামঞ্জস্যপূর্ণ, তবে এমন কিছু এক্সটেনশান সরবরাহ করে যা COMMAND.COM এর কিছু সীমাবদ্ধতা সম্বোধন করে (উপরের ব্যাখ্যাগুলি উইকিপিডিয়া দ্বারা উল্লেখ করা হয়)।
আপনার বন্ধু ঠিক বলেছেন। এমএস-ডস হ'ল / অপারেটিং সিস্টেম (মাইক্রোসফ্ট ডিস্ক অপারেটিং সিস্টেম যা সংক্ষিপ্ত রূপটি বোঝায়।) ডস-এর জন্য ইউআই-কে একটি ( দ্য ) কমান্ড প্রম্পট বলে।
উইন্ডোজের প্রথম কয়েকটি সংস্করণ ডসের শীর্ষে চলেছিল (তাদের প্রযুক্তিগতভাবে পরিচালিত পরিবেশ তৈরি করে, যদিও আমি নিশ্চিত নই যে কেউ আর এই পার্থক্য তৈরি করে), তবে পরে ওএস, এনটি কার্নেল দিয়ে শুরু করে, - ডস চলে যায় নি।
যাইহোক, লোকেদের এখনও কমান্ড প্রম্পট দ্বারা সরবরাহিত কার্যকারিতা প্রয়োজন ছিল এবং কমান্ড ডট কমের পরিবর্তে আমরা কমান্ড.এক্সে (এবং এই দিনগুলিতে cmd.exe) পেয়েছি, যা রান যখন আমাদের একটি কমান্ড প্রম্পট দেয়।
তবে, এটি কেবলমাত্র (প্রথম শুরুর কাছাকাছি কোথাও নয়) কমান্ড প্রম্পট যা লোকেরা ব্যবহার করেছে। কমান্ড প্রম্পটসকে শেলও বলা হয় এবং ইউনিক্সের অনেকগুলি রয়েছে এবং কমান্ডগুলি পৃথক এবং প্রায়শই খুব শক্তিশালী হয়। পাওয়ারের কথা বলতে গেলে মাইক্রোসফ্ট উইন্ডোজের জন্য পাওয়ারশেল নামে একটি নতুন কমান্ড প্রম্পট তৈরি করেছে যা অবিশ্বাস্যভাবে শক্তিশালী এবং আকর্ষণীয়। আরও জানার জন্য উইকিপিডিয়া দেখুন: http://en.wikedia.org/wiki/Command-line_interface# অপারেটিং_সিস্টেম_কমন্ড- লাইন_অন্তর পৃষ্ঠসমূহ
স্পষ্টতই প্রচুর লোকেরা বুঝতে পারে না যে ডস প্রম্পট এবং উইন্ডোজ কমান্ড প্রম্পট একই জিনিস নয়। এগুলি আসলে দুটি আলাদা প্রোগ্রাম - যথাক্রমে COMMAND.COM এবং CMD.EXE।
প্রথমত প্ল্যাটফর্মের (ডস বনাম উইন্ডোজ) এবং দোভাষী (কমান্ড.কম বনাম সেমিডি.এক্সই) এর পার্থক্যের কারণে, এর মতো সুস্পষ্ট ভিন্নতা থাকবে
mode con:cols=COL lines=ROW
আকার পরিবর্তন করতে কোনও title
আদেশ নেই এবং কোনও আদেশও নেইকিন্তু কমান্ড ডট কম এবং সেন্টিমিডি.এক্সইয়ের মধ্যে অভ্যন্তরীণ কমান্ডগুলির ক্ষমতা এবং বাক্য গঠন এবং পাশাপাশি দুটি পরিবেশে কিছু বাহ্যিক সরঞ্জাম রয়েছে major এমএস-ডস-এ রয়েছে
কোনও ফাংশন, কোড ব্লক ()
এবং স্থানীয় স্কোপগুলি যার অর্থ
for
, if
... অবশ্যই একই লাইনে একটি কমান্ড অনুসরণ করা উচিতexit /b
বাgoto :eof
setlocal
এবংendlocal
goto
কেবলমাত্র একটি লেবেলে ঝাঁপ দিতে পারে, call
কেবল অন্য ব্যাচের ফাইল শুরু করতে পারেকমান্ডগুলি একসাথে ভাগ করা যায় না
(
command1
command2
) >output.txt
কোনও পালানোর চরিত্র নেই ^
। বিশেষ অক্ষরগুলি মুদ্রণ করা ব্যথা হতে পারে এবং মাল্টলাইন কমান্ড চালানোর কোনও সম্ভাবনা নেই
if
if cmdextversion
এবংif defined
if [/i] string1 compare-op string2
call set %%var%suffix%=string
) এবং বিলম্বিত প্রসারণ (উদাঃ echo !var%suffix%!
)~xxxV
পরিবর্তনশীল সমর্থন%variable:~num1,num2%
স্ট্রিং বা স্ট্রিং প্রতিস্থাপন সমর্থন%variable:str=newstr%
set
এবং এর
জন্য কোনও আংশিক পরিবর্তনশীল নাম মেলে নাset /a
তাই আপনি পাটিগণিত করতে পারবেন নাset /p
যার অর্থ ব্যবহারকারী ইনপুট পড়া ব্যথাset "var=value"
বাক্য গঠন নেই%*
পুরো কমান্ড লাইনের জন্য নেইfor /d
, for /r
বা for /l
। কোনও for /f
ফাইল থেকে ইনপুট পড়াও খুব কঠিন। for
ডস এর একমাত্র ফর্ম হয়FOR %variable IN (set) DO command [command-parameters]
findstr
, এবং find
ইউনিকোড সমর্থন করে না%CD% %DATE% %TIME% %RANDOM% %ERRORLEVEL% %CMDEXTVERSION% %CMDCMDLINE% %HIGHESTNUMANODENUMBER%
pushd/popd
cd /d
। এছাড়াও না cd path with spaces
এবং cd "path with spaces"
দীর্ঘ ফাইলের নাম সমর্থন না থাকার কারণেcolor
forfiles
assoc
(কারণ কোনও জিইউআই নেই এবং ফাইলগুলি কমান্ড লাইন থেকে ম্যানুয়ালি খুলতে হবে, সুতরাং কোনও ফাইল সংযুক্তি প্রয়োজন নেই)উইন্ডোতে প্রচুর দরকারী বাহ্যিক কমান্ড যেমন সারণি, আরও কিছু (কিছু ডস সংস্করণে), পছন্দ ... ডস-এ অনুপস্থিত
এমএস 'রিচ টার্নার এটাই বলেছিলেন
এছাড়াও, সিএমডি! = এমএস-ডস!
উপরের মত নিবন্ধগুলি দ্বারা স্থায়ী একটি সাধারণ ভুল ধারণাটিও আমি উল্লেখ করতে চাই: সিএমডি <> এমএস-ডস!
আসলে:
- মাইক্রোসফ্ট সর্বশেষে এমএস-ডস (উইন্ডোজ এমইতে v8.0) এর একটি "নতুন" সংস্করণ প্রেরণ করেছে, 16 ই সেপ্টেম্বর, 2000 - 16 বছর আগে (এই লেখাটি হিসাবে) !!
- এমএস-ডস হ'ল একটি অপারেটিং সিস্টেম (আজকের স্ট্যান্ডার্ডের তুলনায় তুলনামূলক সহজ ওএস হলেও) যার প্রাথমিক ইউজার ইন্টারফেসটি কমান্ড-লাইন শেল ছিল, যতক্ষণ না উইন্ডোজ 3.x এবং 9.x উপস্থিত এবং এমএস-ডস-এর আশেপাশে চলে
- এমএস-ডস-এর কমান্ড-লাইন শেলের স্ক্রিপ্টিং ভাষা তুলনামূলকভাবে সংক্ষিপ্ত এবং পরিমিত শক্তিশালী ছিল, তবে অনেক বেশি ধনী এবং আধুনিক প্রযুক্তির আমরা আধুনিক পাওয়ার পাওয়ার, বাশ ইত্যাদিতে আরও উন্নত বৈশিষ্ট্যগুলির অভাব পেয়েছি lack
- এমএস-ডস-এর পরবর্তী সংস্করণগুলি পরিশীলিতভাবে বৃদ্ধি পেয়ে এবং কিছু পুরানো অ্যাসেমব্লিকে 'সি' তে লেখা নতুন কোডের সাথে যুক্ত / প্রতিস্থাপন করেছিল, এমএস-ডস-এর বেশিরভাগই দক্ষতার জন্য x86 অ্যাসেমব্লিতে লেখা ছিল, এবং কারণ এটি তখন একমাত্র উপায় ছিল অনেক হার্ডওয়্যার ডিভাইস এবং পেরিফেরিয়ালগুলিতে অ্যাক্সেস অর্জন করুন। এটি এমএস-ডসকে নন- x86 সিপিইউতে নন-পোর্টেবল করে তুলেছে। আপনি যদি এতটা প্রবণ হন তবে এমএস-ডস ভি 1.1 এবং ভি 2.0 এর জন্য সোর্স কোডটি এমএস-ডস-এর পূর্ববর্তী সংস্করণগুলির কতটা x86 অ্যাসেমব্লিতে লেখা হয়েছিল তা দেখতে আপনি ডাউনলোড করতে পারেন (ইঙ্গিত: বেশিরভাগ ক্ষেত্রেই এটা)!
https://devblogs.microsoft.com/commandline/rumors-of-cmds-death-have-been-greatly-exaggerated/
.bat
পুরানো এমএস ডস .bat
ফাইলগুলির চেয়ে আধুনিক ফাইলগুলি কীভাবে আলাদা ?উপসংহারে, কার্যকারিতা অনুসারে এগুলি কিছুটা সামান্য হতে পারে তবে অন্যথায় বিশালভাবে পৃথক