تبلیغات

آموزش متغیرها در بچ فایل (تعریف متغیر و استفاده از آن)

در بچ اسکریپت (بچ فایل) نیز می‌توان همانند زبان‌های برنامه‌نویسی، از متغیرها استفاده کرد. اگر نمی‌دانید متغیر چیست، برروی لینک زیر کلیک کنید:

متغیر جیست؟

تعریف یک متعیر در بچ اسکریپت به صورت زیر می‌باشد:

SET variable-name=value

به‌جای عبارت variable-name بایستی نام متغیر قرار داده شود؛ و به‌جای عبارت value نیز باید مقدار متغیر نوشته شود. برای مثال:

@ECHO off
SET message=Hello From FuLLKade
ECHO %message%
PAUSE

در اینجا مقدار متغیری با نام message، برابر با Hello From FuLLKade است. برای استفاده از این متغیر در ادامه، بایستی علامت درصد (%) را در اطراف نام آن قرار دهیم. در بالا، ما متغیر message را چاپ کرده‌ایم.

تغییر مقدار متغیرها

جهت تغییر مقدار متغیرها، بایستی مجدد آن را به‌همراه SET تعریف کرد. به‌صورت زیر:

@ECHO off
SET message=Hello From FuLLKade
ECHO %message%
SET message=Bye From FuLLKade
ECHO %message%
PAUSE

در واقع هربار که از SET استفاده می‌شود، متغیر بازنویسی خواهد شد. همچنین توجه داشته باشید که در مقدار بازنویسی شده می‌توان از خود متغیر نیز استفاده کرده و موارد جدیدی را به آن اضافه نمود.

متغیرهای عددی

در بالا ما به تعریف متغیر پرداختیم؛ ولی نوع آن مشخص نبود. اکنون اگر بخواهیم یک متغیر صرفا عدد باشد تا در محاسبه از آن استفاده شود، بایستی از سویچ /A استفاده نمود. به‌صورت زیر:

@ECHO off
SET /A a=75
SET /A b=85
SET /A c=%a% + %b%
ECHO %c%
PAUSE

در بالا دو متغیر a و b به ترتیب با مقادیر 75 و 85 تعریف شدند. این دو متغیر از نوع عدد هستند؛ لذا قابل محسابه خواهند بود. در ادامه متغیر c را تعریف کرده‌ایم که مقدار آن از حاصل جمع دو متعیر قبلی به‌دست می‌آید. می‌توان به‌جای جمع، از – برای تفریق، / برای تقسیم و * برای ضرب نیز استفاده کرد.

متغیرهای محلی و سراسری

متغیرهای تعریف شده در بچ اسکریپت به‌صورت پیشفرض سراسری هستند. یعنی آنکه از هر جای اسکریپت قابل دسترسی خواهند بود. برای مثال متعیری با نام name تعریف شده و در ادامه و در هرجایی قابل استفاده می‌باشد. اما اگر بخواهیم یک متغیر تعریف شده را فقط به قلمرو یا محدوده‌ی خاصی اختصاص دهیم و در خارج از آن محدوده متغیر در دسترس نباشد، بایستی از دستورات SETLOCAL و ENDLOCAL استفاده کرد. برای مثال:

@ECHO off 
SET /A global_variable=1
SETLOCAL
	SET /A local_variable=2
	ECHO %local_variable%
	ECHO %global_variable%
ENDLOCAL
PAUSE

در اینجا، متغیری که با نام global_variable تعریف شده است، یک متغیر سراسری بوده و بعدا می‌توان آن را در هرجای از اسکریپ مورد عنایت قرار داد. اما متغیر local_variable، بین SETLOCAL و ENDLOCAL قرار دارد. در واقع SETLOCAL برای شروع یک محدوده داخلی (محلی) جدید و ENDLOCAL برای اتمام آخرین محدوده‌ی آغاز شده است. در کد بالا، هر دو متغیر چاپ خواهند شد؛ ولی اگر local_variable را بعد از ENDLOCAL بخواهیم چاپ کنیم، دستور اجرا نمی‌شود. چرا که متغیر در خارج از آن محدوده وجود نخواهد داشت.

متغیرهای محیطی

برخی از متغیرها به‌صورت محیطی در بخشی از سیتسم‌عامل تعریف شده‌اند. می‌توان system variables را در منوی استارت ویندوز جستجو کرده و وارد Edit the system environment variables شد؛ سپس در سربرگ Advanced، برروی Environment Variables جهت مشاهده متغیرها کلیک می‌کنیم. هرچیزی که در User variable یا System variable وجود دارد، یک متغیر محیطی است. برای مثال، ممکن است Path را مشاهده کنید. حالا در بچ فایل می‌نویسیم:

@ECHO off 
ECHO %Path%
PAUSE

این متغیرهای محیطی به‌عنوان ثابت‌هایی هستند که مقادیری در آن‌ها قرار دارد. برای مثال، متغیر محیطی %JAVA_HOME% که با نصب JDK ظاهر می‌شود، به مسیر جاوا اشاره می‌کند. شاید بعدا در کدنویسی به این موارد نیاز داشته باشیم.

درباره نویسنده

هادی اکبرزاده

[ مدیر فول کده ]

یه کلاسِ تعریف نشده ... فقط برای ارتباط کاری تلگرام پیام بدید ...

پاسخ دهید

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

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

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