ترفندهای ویندوز ۶ – ایجاد LOOP در Batch اسکریپت

در درس قبل با استفاده از دستور goto یک الگوریتم تکرار ایجاد کردیم که در آن یک پارامتر ورودی را چک کرده و در صورت غلط بودن پیغام خطا در خروجی نمایش داده میشد. در درس “ترفندهای ویندوز ۶ – ایجاد LOOP در Batch اسکریپت” سعی بر آن داریم با یک مثال دیگر به ساختن یک حلقه ی تکرار محاسباتی با کمک دستور SET بپردازیم.

ایجاد LOOP محاسباتی

یکی از کاربردهای مهمی که حلقه ها در برنامه نویسی دارند ایجاد یک متغیر اضافه شونده و استفاده از آن جهت محاسبات مختلف می باشد. این موضوع به این جهت مهم می باشد که اگر بخواهیم با هر خط برنامه یک محاسبات تکراری را انجام دهیم باید هزاران خط را به صورت تکراری بنویسیم. به عنوان مثال فرض بگیرید که بخواهیم یک متغیر را با عدد یک مقدار دهی کرده و ۱۰۰۰ بار آن را با عدد یک جمع کرده و مقدار آن را نمایش دهیم (یعنی اعداد ۱ تا ۱۰۰۰ را echo نماییم). می توان گفت بدون استفاده از حلقه این کار خسته کننده و سخت خواهد بود!
حال اجازه دهید مثال بالا را به صورت یک اسکریپت بنویسیم. متن زیر را در فایل script7.bat کپی کرده و ذخیره نمایید.

@echo off
set /A val1=1
:START
set /A val1+=1
echo %val1%
IF %val1% EQU 1000 goto END
goto START
:END

همانطور که می بینید قبل از ورود به LOOP متغیر val1 را با عدد ۱ مقدار دهی کرده و با دستور set /A مقدار آن را با عدد یک جمع میکنیم تا به عدد ۱۰۰۱ برسیم و از حلقه خارج شویم.
اگر برنامه را اجرا نمایید خروجی برنامه مانند شکل زیر خواهد بود.
ترفندهای ویندوز 6 - ایجاد LOOP در Batch اسکریپت
اعداد از ۱ شروع شده و تا ۱۰۰۰ نمایش داده خواهد شد.
ترفندهای ویندوز 6 - ایجاد LOOP در Batch اسکریپت
روش بالا به این جهت حائز اهمیت است که شبیه حلقه ی تکرار do while در زبان های دیگر بوده و بسیار کارآمد و کاربردی می باشد. در مثال های بعدی از این روش بیشتر استفاده خواهیم نمود.
در درس آتی به دستور For و کاربردهای بسیار جالب آن خواهیم پرداخت. خواهشمندیم سوالات و پیشنهادات سازنده ی خود را در بخش نظرات مطرح نمایید.

ترفندهای ویندوز ۶ – ایجاد LOOP در Batch اسکریپت


ترفندهای ویندوز ۶ – ایجاد LOOP در Batch اسکریپت

شرکت ژیوان ارائه دهنده خدمات شبکه شامل پشتیبانی شبکه , راه اندازی و نصب شبکه , طراحی شبکه , فروش تجهیزات شبکه , سرور و مجازی سازی,اتوماسیون صنعتی, خانه هوشمند