آموزش خواندن سینتکس دستورات CMD خط فرمان ویندوز

آموزش خواندن سینتکس دستورات CMD خط فرمان ویندوز

آموزش خواندن سینتکس دستورات CMD خط فرمان ویندوز


سینتکس و قائده‌ی یک دستور، اساسا نشان‌دهنده‌ی قوانین آن دستور بوده و به ما می‌گوید که آن دستور، به چه صورت می‌تواند به‌کار گرفته‌شده و اجرا شود. بنابراین در زمان یادگیری یک دستور خاص، نیاز است که بدانید چگونه می‌توان علائم سینتکس را خوانده و دستور خود را به‌خوبی اجرا کرد.

احتمالا در فول کده و یا سایت‌های دیگر دیده باشید که سینتکس دستورات خط فرمان (CMD) و یا دستورات داس و هر دستور خط فرمان دیگری، با یک سری براکت‌ها، اسلش‌ها، حروف مورب و … توصیف شده‌اند. بایستی بدانید که هرکدام از این‌ها چه‌چیزی را توضیح داده و به چه موردی اشاره می‌کنند. بدین ترتیب خواهید توانست تا با نگاه به سینتکس یک دستور، با روش‌های مختلف استفاده از آن آشنا شده و بدانید که از یک آپشن، چگونه می‌توان استفاده کرده و یا آن را چگونه در کنار سایر آپشن‌ها به کار برده و اجرا کرد.

نکته

با توجه به منبع مورد نظر، شما ممکن است اندکی تفاوت در ساختار سینتکس‌ها را مشاهده کنید. ما در فول کده، از متد رسمی مایکروسافت استفاده خواهیم کرد؛ و بیشتر سینتکس‌هایی که در سایر سایت‌ها مشاهده کرده‌ایم نیز به همین ترتیب هستند.

علائم توصیف سینتکس دستورات CMD

در جدول زیر، می‌توانید با موارد مختلفی که در هنگام توصیف سینتکس یک دستور به کار برده می‌شوند آشنا شده و سپس در ادامه، مثال‌هایی را خواهیم داشت.

نشانه (Notation) معنا و مفهوم
بولد
(Bold یا درشت)
اگر چیزی در سینتکس یک دستور به‌صورت درشت نوشته شود، باید دقیقا همانطور که در سینتکس نوشته شده است تایپ شود. این مورد شامل هر نوع کاراکتری از جمله اسلش، ویرگول و … می‌باشد.
ایتالینک
(italic یا مورب و کج)
اگر چیزی در سینتکس یک دستور به‌صورت کج و مورب نوشته شود، یعنی آن‌که بایستی آن مورد توسط شما تعیین شود. برای مثال، ممکن است از شما خواسته شود تا نامتان را وارد کنید. البته در توضیحات مختص هر دستوری آمده است که چه مواردی برای نوشتن در آن قسمت‌ها مجاز هستند.
فاصله‌ها (Spaces) اگر در سینتکس یک دستور، فاصله مشاهده می‌کنید، همان فاصله را بایستی موقع نوشتن و به‌کارگیری دستور نیز بنویسید.
براکت‌ها
[متن]
موارد یا آیتم‌های موجود بین دو علامت [ و ] اختیاری هستند؛ که یکی از آن‌ها را می‌توان استفاده کرد. همچنین خود براکت‌ها در زمان نوشتن دستور نباید به‌کار برده شوند؛ و تنها موارد داخل آن‌ها مد نظر است؛ پس خودشان حذف می‌شوند.
متن‌های خارج از براکت‌ها هر متنی که بیرون از براکت‌ها باشد، اجباری است. در سیننتکس اکثر دستورات، تنها متنی که اجباری بوده و بین براکت‌ها نیست، اسم دستور می‌باشد.
براک‌ها
{متن}
موارد یا آیتم‌های موجود بین دو علامت { و } اجباری هستند؛ که البته تنها بایستی یکی از آن موارد مورد استفاده قرار گیرد. همچنین خود براک‌ها در زمان نوشتن دستور نباید به‌کار برده شوند؛ و تنها متن داخل آن‌ها مد نظر است؛ پس خودشان حذف می‌شوند.
علامت | علامت |، برای جدا کردن آیتم‌ها در داخل براکت‌ها یا براک‌ها مورد استفاده قرار می‌گیرد. همچنین خود علامت | در زمان نوشتن دستور نباید به‌کار برده شود.
سه‌نقطه
Ellipsis یا …
مشخص می‌‍کند که یک آیتم می‌تواند به‌تعداد نامحدودی تکرار شود. همچنین خود سه‌نقطه‌ها در زمان نوشتن دستور نباید به‌کار برده شود.
نکته
به‌جای براکت‌ها و …، گاهی ممکن است از علائم دیگری مثل پرانتزها استفاده شود. به‌جای | نیز ممکن است از اسلش استفاده گردد. اما صرف نظر از همه چیز، این علائم در هنگام اجرای دستور نباید نوشته شوند؛ و تنها برای توضیح سینتکس دستور به‌کار برده می‌شوند.

مثال 1: دستور Vol

در اینجا قصد داریم تا سینتکس دستور Vol را مورد ارزیابی قرار دهیم. این دستور، جهت نمایش Label و سریال نامبر یک درایو در ویندوز مورد استفاده قرار می‌گیرد. سینتکس آن به‌صورت زیر است:

vol [drive:]

دستور vol در cmd

دستور vol در cmd

  • همانطور که مشاهده می‌کنید، vol در سینتکس دستور، به‌صورت بولد مشخص شده است؛ که یعنی بایستی به همان صورت نوشته شود؛ و از طرفی، بیرون از هر براکتی قرار دارد؛ که یعنی اجباری و ضروری است.
  • پس از vol، یک فاصله نوشته شده است. همانطور که گفته شد، فاصله‌ها بایستی به همان صورت در دستور مورد استفاده قرار گیرند. یعنی نیاز است که بین vol و هرچیزی که ممکن است بعد از آن باشد، فاصله قرار گیرد.
  • براکت‌ها همانطور که گفته شد، مشخص می‌کنند که موارد داخل آن اختیاری بوده و جهت اجرای دستور الزامی نیستند؛ با این حال، ممکن است برخی موارد را برای روند اجرای دستور تغییر دهند. همچنین خود برکت‌ها تنها در سینتکس وجود داشته و موقع اجرای دستور، نوشته نمی‌شوند.
  • داخل براکت‌ها، عبارت drive به‌صورت ایتالیک قرار دارد؛ که بعد از آن نیز یک دونقطه به‌صوت بولد نوشته شده است. همانطور که گفته شد، هرچیز مورب یا کج و ایتالیکی بایستی توسط خود ما نوشته و به‌عبارتی مقداردهی شود. در اینجا، drive به برچسب و لیبل یک درایوی برروی سیستم اشاره می‌کند؛ همنانند درایو C. همچنین دونقطه نیز به‌صورت بولد بوده و بایستی به‌همان صورت نیز مورد استفاده قرار گیرد.

براساس این اطلاعات گفته شده، برخی اجراهای صحیح و غلط دستور بالا را نمایش می‌دهیم:

vol

این اجرا صحیح است؛ چراکه دستور vol می‌تواند به‌تنهایی اجرا شود. طبق توضیحات و سینتکس، براکت‌ها مشاهده می‌شوند که اختیاری هستند.

vol d

این اجرا غلط است؛ چراکه علامت دونقطه یا : در دستور جا افتاده است. همانطور که می‌بینید، داخل براکت بایستی برای drive از لیبل یک درایو استفاده شود؛ و دو نقطه نیز به‌صورت بولد نوشته شده است.

vol e: /p

این اجرا غلط است؛ چراکه آپشنی به اسم /p در سینتکس وجود ندارد.

vol c:

این اجرا صحیح است؛ چراکه همه چیز در آن طبق سینتکس رعایت شده است.

مثال 2: دستور shutdown

سینتکس قرار گرفته در این مثال، مختص دستور shutdown است؛ که البته بسیار پیچیده‌تر از دستور vol می‌باشد.

shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f] [/m \\computername] [/t xxx] [/d [p:|u:]xx:yy] [/c “comment]

دستور shutdown در cmd

دستور shutdown در cmd

  • توجه داشته باشید که آپشن‌های بین براکت‌ها، همواره اختیاری بوده و آنچه بیرون از آن باشد، اجباری است. موارد بولد و فاصله بایستی به‌همان صورت استفاده شوند؛ و تغییری در آن‌ها اعمال نمی‌شود. همچنین آیتم‌های ایتالینک نیز بایستی توسط خود شما مقداردهی شوند.
  • این موارد در مثال قبلی نیز وجود داشت؛ اما مبحث جدید در اینجا، وجود علامت | در براکت‌ها است؛ و همانطور که گفته شد، جهت جدا کردن آیتم‌ها مورد استفاده قرار می‌گیرد. بنابراین در مثال بالا، شما می‌توانید یکی از آیتم‌های داخل براکت را انتخاب کنید. یعنی یکی از آپشن‌های /i, /l, /s, /r, /g, /a, /p, /h, /e را می‌توانید در دستور نوشته و اجرا کنید.
  • نکته جالب دیگر این است که این سینتکس، شامل یک آپشن nested و به‌عبارتی درونی و داخلی نیز می‌باشد! یعنی آنکه یک آپشن، در یک آپشن دیگری قرار داشته؛ و اگر از آن آپشن استفاده شود، می‌توان از این آپشن نیز استفاده نمود. حرف ما بر سر قسمت [/d [p:|u:]xx:yy] موجود در سینتکس است؛ که یعنی، یک آپشن /d می‌تواند نوشته شود؛ سپس در صورت نوشتن این آپشن، چون براکت [p:|u:] وجود دارد، می‌توان یکی از موارد p: یا u: را نوشت. پس از آن نیز xx و : و yy قرار دارند؛ که xx به‌صورت ایتالیک بوده و یعنی بایستی توسط خودمان مقدار دهی شود؛ yy نیز همینطور است. اما علامت دونقطه یا : به‌حالت بولد بوده و بایستی به‌همان صورت مورد استفاده قرار گیرد. پس در نتیجه، اگر /d استفاده شود، می‌توان از p: یا u: نیز بعد از آن استفاده کرده و در نهایت نیز xx و : و yy وجود دارند؛ که گفته شد. البته توجه داشته باشید که xx:yy اختیاری نبوده و در صورت نوشتن /d بایستی آن‌ها نیز استفاده شوند . فقط موارد داخل براکت اختیاری هستند؛ که با | از هم جدا می‌شوند. از طرفی، به فاصله‌ها نیز دقت کنید که کجا وجود داشته و کجا وجود ندارند!

اکنون با توجه به توضیحات، بیایید همانند دستور vol، چند حالت صحیح و غلط برای استفاده از این دستور بshutdown نیز بنویسیم:

shutdown /r /s

این اجرا غلط است؛ چراکه تنها می‌توان از یکی از آپشن‌ها استفاده نمود. هردو آپشن /r و /s داخل یک براکت از یکدیگر جدا شده‌اند.

shutdown /s p:0:0

این اجرا غلط است؛ چراکه نمی‌توان از p:0:0 استفاده کرد! چون قبل از استفاده از آن، بایستی حتما /d مورد استفاده قرار گیرد.

shutdown /r /f /t 0

این اجرا صحیح است؛ چراکه همه موارد /r و /f و /t مجزا از هم بوده و با براکت‌های مجزایی در سینتکس قرار داده شده‌اند. همچنین پس از /t نیز می‌توان یک چیزی به‌جای xxx نوشت چون مورب است.

مثال 3: دستور Net Use

در آخرین مثال، بیایید نگاهی به دستور net use بیندازیم؛ که یکی از دستورات net هست. سینتکس این دستور، کمی بی‌نظم بوده و لذا ما آن را خلاصه‌تر نمودیم؛ تا برای توضیح دادن ساده‌تر شود. بعدا در مطلب مجزایی، سینتکس کامل آن را توضیح خواهیم داد.

net use [{devicename | *}] [\\computername\sharename [{password | *}]] [/persistent:{yes | no}] [/savecred] [/delete]

دستور net use در cmd

دستور net use در cmd

این سینتکس، شامل دو مورد جدید می‌باشد. یکی از این موارد، استفاده از { } ها است. همانطور که گفته شد، این یعنی حتما باید از یکی از آیتم‌های موجود در آن استفاده شود.

بیایید به استفاده‌‌های صحیح و غلط از این سینتکس بپردازیم:

net use e: * \\server\files

این اجرا غلط است؛ چراکه در براکت اول گفته شده است می‌توان از devicename یا یک * استفاده کرد. بنابراین نمی‌توان از هردو به‌صورت همزمان استفاده نمود.

net use * \\appsvr01\source 1lovet0visitcanada /persistent:no

این اجرا صحیح است؛ چراکه هم اشتباه قبلی در اینجا رخ نداده و از طرفی موارد دیگر نیز به درستی رعایت شده‌اند.

net use /persistent

این اجرا غلط است؛ چراکه { } داخل براکت و کتار آیتم استفاده شده قرار دارند؛ لذا  در صورت استفاده از /persistent در هنگام اجرای دستور، حتما باید یکی از موارد yes یا no ّنیز به کار برده شوند.


امیدوارم از این آموزش لذت برده باشید 🙂

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

cp-codfk

نظرات ثبت شده بدون دیدگاه

توضیحات پیشنهادی نظرات اشتراک