دستورات شرطی در CMD
در این بخش به بررسی دستورات شرطی در CMD می پردازیم، از دستور if در CMD برای ایجاد شرط ها استفاده می کنیم. دستورات شرطی در CMD (Command Prompt) یکی از مهمترین ابزارها برای خودکارسازی وظایف و مدیریت سیستمهای ویندوزی به شمار میآیند. این دستورات به کاربران و مدیران سیستمها این امکان را میدهند تا با توجه به شرایط خاصی، اقدامات مختلفی را انجام دهند. دستورات شرطی برای اجرای فرآیندها براساس شرایط تعریف شده کاربرد دارند و با استفاده از آنها میتوان تصمیمهای هوشمندانهتری در اجرای اسکریپتها گرفت. اگر در دنیای اسکریپتنویسی و مدیریت سیستم تازهکار هستید یا قصد دارید کار خود را بهینهسازی کنید، یادگیری و استفاده از دستورات شرطی در CMD یکی از بهترین مسیرها برای شروع است.
در این مقاله قصد داریم تا به صورت جامع و دقیق به بررسی دستورات شرطی در CMD بپردازیم و نحوه استفاده از آنها را با مثالهایی کاربردی به شما نشان دهیم. این دستورات میتوانند در موقعیتهای مختلف برای بررسی شرایط خاص و اجرای دستورات براساس نتیجه آنها بسیار مفید باشند. همچنین توضیح خواهیم داد که چگونه میتوانید از این دستورات برای بهبود خودکارسازی فرآیندها استفاده کنید.
دستور IF در CMD
یکی از مهمترین و پراستفادهترین دستورات شرطی در CMD، دستور IF
است. این دستور به شما امکان میدهد که براساس یک شرط خاص، تصمیم بگیرید که کدام دستور یا مجموعهای از دستورات اجرا شود. ساختار پایهای این دستور به این شکل است:
IF [شرط] (دستور در صورت صحیح بودن شرط) ELSE (دستور در صورت نادرست بودن شرط)
شرطها میتوانند مقایسههایی بین مقادیر عددی یا متنی باشند. به عنوان مثال، در زیر یک مثال ساده از استفاده از دستور IF
برای مقایسه دو عدد را مشاهده میکنید:
IF 5 GTR 3 (
ECHO 5 بزرگتر از 3 است
) ELSE (
ECHO 5 کوچکتر از 3 است
)
در این مثال، شرط بررسی میکند که آیا عدد ۵ از ۳ بزرگتر است یا خیر. اگر شرط صحیح باشد، دستور ECHO 5 بزرگتر از 3 است
اجرا خواهد شد و در غیر این صورت، دستور در بخش ELSE
اجرا میشود.
توضیحات:
دستور IF
در CMD از عملگرهای مختلفی برای مقایسه استفاده میکند. برخی از این عملگرها عبارتند از:
EQU
برای مقایسه برابر بودن.NEQ
برای مقایسه نابرابر بودن.LSS
برای مقایسه کمتر بودن.GTR
برای مقایسه بزرگتر بودن.LEQ
برای مقایسه کمتر یا مساوی بودن.GEQ
برای مقایسه بیشتر یا مساوی بودن.
این دستور همچنین میتواند برای بررسی مقادیر متنی و فایلها نیز مورد استفاده قرار گیرد. در بخشهای بعدی، به بررسی موارد کاربردیتر این دستور خواهیم پرداخت.
بررسی وجود فایلها با IF EXIST
گاهی اوقات لازم است تا پیش از اجرای یک دستور خاص، از وجود یک فایل یا دایرکتوری مطمئن شوید. برای این کار میتوان از شرط IF EXIST
استفاده کرد. این شرط بررسی میکند که آیا فایل یا دایرکتوری موردنظر وجود دارد یا خیر. اگر وجود داشته باشد، دستورات مرتبط اجرا میشوند.
مثال:
IF EXIST C:\example.txt (
ECHO فایل مورد نظر وجود دارد.
) ELSE (
ECHO فایل مورد نظر وجود ندارد.
)
در این مثال، سیستم بررسی میکند که آیا فایلی به نام example.txt
در مسیر C:\
وجود دارد یا خیر. در صورتی که فایل موجود باشد، پیام “فایل مورد نظر وجود دارد” نمایش داده میشود و در غیر این صورت، پیام “فایل مورد نظر وجود ندارد” به نمایش در میآید.
توضیحات:
این ویژگی زمانی بسیار مفید است که بخواهید اسکریپتهای خود را براساس وجود یا عدم وجود فایل یا پوشههای خاص بهینهسازی کنید. برای مثال، در پروژههایی که نیاز به فایلهای خاصی دارند، قبل از اجرای دستورات اصلی، میتوانید از IF EXIST
برای بررسی آن فایلها استفاده کنید.
استفاده از IF برای مقایسه متغیرهای محیطی
متغیرهای محیطی (Environment Variables) اطلاعات مهمی در مورد محیط سیستم و کاربر ارائه میدهند. با استفاده از دستورات شرطی در CMD، میتوانید این متغیرها را مقایسه کنید و براساس مقادیر آنها تصمیم بگیرید که چه دستوری اجرا شود.
برای مثال، فرض کنید که میخواهید براساس مقدار متغیری به نام USERNAME
که نام کاربر جاری را ذخیره میکند، تصمیم بگیرید که یک دستور خاص اجرا شود:
IF "%USERNAME%"=="Admin" (
ECHO شما ادمین هستید.
) ELSE (
ECHO شما ادمین نیستید.
)
در این مثال، شرط بررسی میکند که آیا مقدار متغیر USERNAME
برابر با “Admin” است یا خیر. در صورتی که شرط صحیح باشد، پیام “شما ادمین هستید” نمایش داده میشود و در غیر این صورت، پیام “شما ادمین نیستید” به نمایش در میآید.
توضیحات:
استفاده از متغیرهای محیطی به همراه دستورات شرطی به شما این امکان را میدهد که اسکریپتهایی پویا و منعطفتر ایجاد کنید. این متغیرها میتوانند شامل اطلاعاتی مانند مسیرهای سیستمی، نسخههای نرمافزارها و یا تنظیمات کاربر باشند.
دستور IF DEFINED برای بررسی تعریف متغیرها
در برخی موارد، ممکن است نیاز داشته باشید که بررسی کنید آیا یک متغیر خاص در محیط تعریف شده است یا خیر. برای این کار میتوانید از شرط IF DEFINED
استفاده کنید. این شرط بررسی میکند که آیا متغیر موردنظر دارای مقدار است یا خیر.
مثال:
IF DEFINED PATH (
ECHO متغیر PATH تعریف شده است.
) ELSE (
ECHO متغیر PATH تعریف نشده است.
)
در این مثال، شرط بررسی میکند که آیا متغیر PATH
تعریف شده است یا خیر. اگر این متغیر تعریف شده باشد، پیام “متغیر PATH تعریف شده است” نمایش داده میشود و در غیر این صورت، پیام “متغیر PATH تعریف نشده است” به نمایش در میآید.
توضیحات:
این ویژگی به ویژه زمانی مفید است که بخواهید از صحت و وجود متغیرهای موردنیاز در اسکریپتهای خود مطمئن شوید. این موضوع به شما کمک میکند که از خطاهای احتمالی جلوگیری کنید.
دستور Conditional Operators
در CMD میتوان از عملگرهای شرطی &&
و ||
برای اجرای دستورات براساس موفقیت یا شکست دستورات قبلی استفاده کرد. این عملگرها به شما این امکان را میدهند که بدون استفاده از دستورات شرطی IF
، براساس نتیجه اجرای دستورات، تصمیمگیری کنید.
مثال:
mkdir C:\newfolder && echo "پوشه ایجاد شد" || echo "خطا در ایجاد پوشه"
در این مثال، سیستم ابتدا تلاش میکند پوشهای به نام newfolder
ایجاد کند. اگر این کار موفقیتآمیز باشد، پیام “پوشه ایجاد شد” نمایش داده میشود. در غیر این صورت، پیام “خطا در ایجاد پوشه” به نمایش در میآید.
توضیحات:
این نوع عملگرها زمانی کاربرد دارند که میخواهید چند دستور به صورت زنجیرهای و با توجه به موفقیت یا شکست دستورات قبلی اجرا شوند. به کمک این عملگرها میتوانید اسکریپتهای کوتاهتر و مؤثرتری ایجاد کنید.
در این مقاله، دستورات شرطی در CMD را به صورت جامع بررسی کردیم و کاربردهای آنها را با مثالهایی توضیح دادیم. این دستورات ابزارهای قدرتمندی برای خودکارسازی و بهینهسازی اسکریپتها و وظایف در ویندوز ارائه میدهند. از بررسی وجود فایلها و متغیرها گرفته تا مقایسه مقادیر و اجرای دستورات براساس نتیجه آنها، این دستورات میتوانند نقش کلیدی در مدیریت سیستمهای ویندوزی ایفا کنند.
برای مطالعه بیشتر و آشنایی با سایر دستورات CMD میتوانید به منابع زیر مراجعه کنید:
منابع
- Microsoft Docs
- SS64 CMD Reference
آیا این مطلب برای شما مفید بود ؟