آموزش اسکریپت نویسی | آموزش نوشتن BATCH File | آموزش نوشتن بچ فایل | آموزش اسکریپت نویسی در ویندوز | آموزش BATCH Scripting و ... کلیدواژه هایی برای یادگیری بهتر این مقاله است ، اما اگر قصد دارید بصورت فوق حرفه ای به اسکریپت نویسی ویندوز با محیط CMD بپردازید ، پیشنهاد می کنیم که حتما دوره آموزشی تخصصی اسکریپت نویسی با Batch File های مهندس احمدی را از طریق لینک زیر دنبال کنید :
درس اول (مقدمات اولیه) : فایل های اجرایی BAT کاربرد فراوانی برای متخصصان بالاخص بدافزار نویسان دارد .این فایل ها در هر محیطی قابل اجرا هستند و از دیگر ویژگی های آنها می توان به مفسری بودنشان اشاره کرد (خط به خط اجرا می شوند) ، به همین جهت هر خط برای خود می تواند یک دستور مجزا باشد.هر فایل BAT می تواند چندین برنامه اجرایی را اجرا و خروجی آنها را درون فایلی ذخیره کند و یا اینکه بر روی مانیتور یا چاپگر ارسال کند. از کاربردهای دیگر این نوع فایل ها می توان به اجرای کارهای دسته ای و تکراری اشاره کرد که در هر ویرایشگری قابل ویرایش هستند.در این بخش به تعدادی از این دستورات اشاره می کنیم
- دستور @ECHO OFF : عدم نمایش خود دستور در اجرا
- علامت : موجب شده خروجی یک دستور بعنوان ورودی برای دستور بعدی باشد. FC.EXE A.TXT B.TXT MORE.EXE(در این دستور حاصل تابع FC بر روی دو فایل A و B به تابع MORE انتقال می یابد)
- علامت <:خروجی دستوری را به محل خاص تغییر مسیر می دهد. DIR > 1.TXT ( لیست فایل ها را به فایل 1.TXT کپی می کند)
- علامت > : این عملگر موجب شده که دستورات بعنوان ورودی به فرمانی خاص ارسال شوند. FTP< B.TXT(محتوای B.TXT بعنوان ورودی برای FTP بوده )
- علامت START NOTEPAD B.TXT
- علامت & : باعث می شود بعد از اجرای دستور اول دستور دوم اجرا شود.START A.EXE & START B.EXE
- علامت && : به این معنا که اگر دستور اول کامل اجرا شد دستور دوم نیز کامل اجرا گردد و اگر دستور اول اجرا نشو دستور دوم نیز اجرا نشود.
مثال : وارد محیط notepad شده و دستورات زیر را وارد کنید و سپس فایل را با نام test.bat در درایو c ذخیره کنید و برای اجرا وارد محیط dos و سپس وارد درایو c شده و روبروی علامت < عبارت test را وارد و اینتر نمایید.
@ECHO O FF
DIR/W > A.TXT
START NOTEPAD A.TXT
نتیجه : لیست فایلهای پوشه مربوطه ای که این فایل دسته ای در اون اجرا شدرو در فایلی به نام A.TXT ذخیره و با NOTEPAD نمایش داده.
درس دوم : متغیرهای محیطی و دستور SET
این متغیرها از نوع رشته ای هستند و از این متغیرها می توان برای ذخیره سازی و بازخوانی آن ها استفاده کرد.
SET VAR=[STRING] ECHO %VAR%
بطور مثال:
@ECHO OFF SET SCORE=10 ECHO %SCORE% OUTPUT : 10
متغیرها محیطی عمومی
- %CD% مسیر جاری را در خود دارد
- %OS% نسخه سیستم عامل را در خود دارد
- %DATE% تاریخ سیتم را در خود دارد
- %TIME% ساعت سیستم را در خود دارد
- %RANDOM% یک عدد تصادفی بین 0 تا 32766 تولید می کند
با استفاده از این دستور می توان عملیات ریاضی انجام داد
بطورمثال:
@ECHO OFF SET SCORE=30 SET /A SCORE=%SCORE%+1 ECHO %SCORE% OUTPUT : 31
از دیگر عملگرها می توان به موراد زیر اشاره کرد
- عملگرهای ریاضی : ضرب * تقسیم / %باقیمانده +جمع - تفریق
- عملگرهای انتسابی := =+ =- =% =/
- عملگر % VAR:~1,2% از کاراکتر اول رشته به طول 2 جدا می کند
- عملگر % VAR:~1,-2% از کاراکتر اول رشته 2 تا از آخر جدا می کند
- عملگر % VAR:~-1,2% از یک از آخر به طول دو تا جدا می کند
- عملگر % VAR:~ 2% از کاراکتر دوم رشته تا انتها را جدا می کند.
- عملگر % VAR:~-2% از دومین کاراکتر از آخر رشته تا انتها را جدا می کند.
بطور مثال:
@ECHO OFF SET STR=ALIREZA %STR:1,3% OUTPUT : LIR
متغیر errorlevel : این متغیر از نوع اعداد طبیعی است و بعد از اتمام هر برنامه اجرای این متغیر مقدار دهی می شود. در واقع این متغیر برای آنست که بدانیم علت خطا چیست. بطور مثال در دستور زیر:
Dir *.docx>c:\test\a.txt
اگر عملیات موفقیت آمیز و بدون اشتباه باشد این متغیر عدد 0 در آن قرار می گیرد. اگر عملیات با اشتباه و خطا مواجه شود این متغیر با یک مقدار دهی می شود.
آموزش استفاده از متغیر در دستور for
- متغیر این دستور به صورت %% مشخص می گردد. خلاصه نمایش متغیرها در کد برنامه نویسی
- متغیر محلی به صورت %var% نمایش داده شده
- متغیر دستور for بصورت %%var نمایش داده شده
- متغیر خط فرمان بصورت %var نمایش داده شده
آموزش استفاده از دستور goto
برچسب ها با عملگر : نشان داده می شوند طول آنها حداکثر 127 کاراکتر بوده و از حروف و عدد تشکیل شده اند و برای پرش به یک دستور از فرمان goto استفاده می گردد.
مثال:
:labe1 Dir c:\*.* > c:\a.txt Del c:\test\*.docx If …… goto end Goto lab1 :end
نکته قابل توجه ، می توان خروجی یا حتی ورودی هر دستوری را علاوه بر فایل به موارد زیر نیز ارسال کرد.
Nul : در صورتی که نخواهیم هیچ عملی انجام شود از این عبارت استفاده می کنیم.
Del *.txt > nul
Con : این عبارت در صورت ورودی بودن صفحه کلید و در صورت خروجی نمایشگر است.
copy con a.txt
prn : نتیجه برای خروجی ارسال شده.
Dir *.* > prn
معرفی دستورات اختصاصی فایل bat
این دستورات شامل echo-start-if-for-call-rem-pause که به تشریح هر یک پرداخته
آموزش دستور echo
- 1.1 . نمایش پیغام
Echo "welcome"
- 1.2. ایجاد یک خط مانند اینتر
Echo
- 1.3. نمایش یا عدم نمایش خط دستورات در حال اجرا
@echo on or off
2.start
اجرای یک برنامه بطور مستقل و همزمان
Start paint.exe Start calc.exe
بدون start دستورات فوق به این صورت عمل کرده که ابتدا برنامه اول اجرا شده بعد برنامه دوم.
معرفی سوئیچ های دستور start
- پارامتر /min موجب شده برنامه به صورت حداقل اجرا گردد .
- پارامتر /max موجب شده برنامه بصورت حداکثر اجرا گردد
- پارامتر /wait اجرای برنامه تا انتها به طول انجامیده
آموزش استفاده از دستور If
دستور شرط به این صورت که اگر شرطی برقرار بود دستوری اجرا شود و در غیر این صورت دستور دیگری اجرا گردد بطور مثال :
If exist c:\a.txt Del c:\a.txt Else Echo "no file"
اگر فایل a.txt در درایو c وجود داشت آن را پاک می کند در غیر این صورت پیغام عدم وجود فایل داده
مثال دوم
@echo off Dir %1;\>nul If errorlevel 1 Echo "path in valid" Else Echo path is valid
از ورودی نام یک درایو را گرفته و موجود بودن آن بررسی می کند.
مثال 3 :
@echo off If "%1"=="" goto end If "%2"=="" goto end If "%1" equ or lss or gtr "%2" echo ""
دو رشته از کاربر گرفته و آنها را با هم مقایسه می کند (equ یعنی برابر- lss کوچکتر و gtr یعنی بزرگتر)
آموزش استفاده از دستور FOR
با این دستور می توان کارهای زیر را انجام داد:
- حرکت بر روی فایلها و پوشه ها
- حرکت بر روی انواع مجموعه ها
- خواند فایل هائی با ساختار مشخص
- درست کردن شمارنده های پیشرفته
- از این دستور جهت ایجاد حلقه نیز می توان استفاده کرده:
مثال هایی از دستور FOR
مثال 1:
FOR /L %I IN(4,1,9) DO ECHO %I
این دستور از عدد 4 شروع کرده و یکی یکی تا عدد 9 پیش رفته و آنها را نمایش می دهد. به عبارتی خروجی دستور زیر عبارتست از
4,5,6,7,8,9
مثال 2:
FOR /L %I IN(6,3,20) DO ECHO %I
این دستور از عدد 6 به تعداد سه تا سه پیش رفته تا به 20 . به عبارتی خروجی دستور فوق عبارتست از 6,9,12,15,18
مثال 3:
For %i in (a*b.txt) do echo %i
این دستور تمامی فایلهایی که با حرف a شروع می شوند و با حرف b ختم می شوند را از درایو c در لیستی نمایش می هد.(اگر از درایو c اجرا شده باشد)
مثال 4:
For %i in (b??h*.jpg) do echo %i
این دستور با این فورمت تمام فایهایی که حرف اول آنها با b و حرف چهارم آنها با h شروع و پسوند آنها jpg است(عکس) را نمایش داده (از درایو و مسیری که در حال اجرا است)
مثال 5:
For %i in (ali reza hasan) do echo %i
این دستور اسامی داخل پرانتز را به ترتیب نمایش داده
For %i in (dir date time) do %i
این دستور فرمان های dir و date و time را به ترتیب اجرا کرده.
آموزش استفاده از دستور rem
جهت ارائه توضیحات در ارتباط با دستورات و عدم اجرای یک خط دستور
مثال:
Rem monitor list file
Dir
توضیخ در مورد دستور dir (نمایش لیست فایلهای درایو مربوطه)
Rem dir
عدم اجرای دستور dir
- علامت :: بجای دستور rem می توان استفاده کرد.
- دستور dir : نمایش لیست فایله و پوشه های مسیر مربوطه
- دستور cd : ورود به یک پوشه
- دستور md : ساخت پوشه
- دستور rd :حذف پوشه
- دستور attrib : تغییر یا بررسی خصلت فایلها
مثال:
Attrib +h + r a*.txt
مخفی و فقط خواندنی کردن کلیه فایلهایی از درایو مربوطه که با a شروع می شوند و پسوند txt دارند و برای غیر فعال کردن دستور از – بجای + استفاده کرده.
- دستور del وerase : حذف فایل یا فایله
- دستور copy: عملیات کپی فایل از مبدا به مقصد
Copy *.jpg d:\*.jpg
کلیه فایلهای تصویری درایو جاری را به درایو d کپی کرده
- دستور replace:جایگزینی یک فایل
- دستور move:انتقال فایل
- دستور ren:تغییر نام فایل
Ren a.txt b.txt
تغییرنام فایل از a.txt به b.txt
- دستور cls : پاک کردن صفحه نمایش
- دستور title: تغییر عنوان صفحه cmd
- دستور date: نمایش تاریخ سیستم
- دستور time:نمایش ساعت سیستم
- دستور tree:نمایش درختی پوشه ها و فایلها
- دستور findstr: جستجوی یک رشته در یک فایل
مثال:
Findstr ali c:\a.txt
جستجوی کلمه ali در فایل a.txt و نمایش کلیه خط هایی که کلمه ali در آن وجود دارد.
مثال:
Findstr /s hi c:\*.txt
جستجوی کلیه فالهای متنی داخل درایو c و پوشه های آن که دارای کلمه hi است.
آموزش استفاده از دستور sort
مرتب سازی محتویات فایل
مثال:
Sort a.txt
آموزش استفاده از دستور comp
مقایسه دو فایل با یکدیگر از نظر اندازه
Comp c:\a.txt d:\b.txt
دستور fc مقایسه دو فایل با یکدیگر از نظر محتوا
از فایلهای دسته ای می توان جهت اجرای خودکار یکسری از دستورات استفاده کرد ، پسوند این فایلها از نوع bat بوده که با استفاده از نرم افزار notepad قابل ویرایش هستند.دستورات فایل های دسته ای حساس به بزرگی و کوچکی حروف (Case Sensitive) نیستند.
مرور کلی بر دستورات فایلهای دسته ای (batch files) بهمراه مثال
- دستور @ECHO OFF : عدم نمایش خود دستور در اجرا
- علامت | : موجب شده خروجی یک دستور بعنوان ورودی برای دستور بعدی باشد
- علامت <:خروجی دستوری را به محل خاص تغییر مسیر می دهد.
- علامت > : این عملگر موجب شده که دستورات بعنوان ورودی به فرمانی خاص ارسال شوند.
- علامت || : به این معناست که اگر دستور اول اجرا نشد دستور دوم اجرا شود
- علامت & : باعث می شود بعد از اجرای دستور اول دستور دوم اجرا شود.
- علامت && : به این معنا که اگر دستور اول کامل اجرا شد دستور دوم نیز کامل اجرا گردد و اگر دستور اول اجرا نشو دستور دوم نیز اجرا نشود.
- متغیرهای محیطی و دستور SET:این متغیرها از نوع رشته ای هستند و از این متغیرها می توان برای ذخیره سازی و بازخوانی آن ها استفاده کرد.
- متغیرها محیطی عمومی
- %CD% مسیر جاری را در خود دارد
- %OS% نسخه سیستم عامل را در خود دارد
- %DATE% تاریخ سیتم را در خود دارد
- %TIME% ساعت سیستم را در خود دارد
- %RANDOM% یک عدد تصادفی بین 0 تا 32766 تولید می کند
- عملگرها
- عملگرهای ریاضی : ضرب * تقسیم / %باقیمانده +جمع - تفریق
- عملگرهای انتسابی := =+ =- =% =/
- عملگر % VAR:~1,2% از کاراکتر اول رشته به طول 2 جدا می کند
- عملگر % VAR:~1,-2% از کاراکتر اول رشته 2 تا از آخر جدا می کند
- عملگر % VAR:~-1,2% از یک از آخر به طول دو تا جدا می کند
- عملگر % VAR:~ 2% از کاراکتر دوم رشته تا انتها را جدا می کند.
- عملگر % VAR:~-2% از دومین کاراکتر از آخر رشته تا انتها را جدا می کند.
- متغیرها
- متغیر errorlevel:این متغیر از نوع اعداد طبیعی است و بعد از اتمام هر برنامه اجرای این متغیر مقدار دهی می شود.در واقع این متغیر برای آنست که بدانیم علت خطا را بدانیم.اگر عملیات موفقیت آمیز و بدون اشتباه باشد این متغیر عدد 0 در آن قرار می گیرد.اگر عملیات با اشتباه و خطا مواجه شود این متغیر با یک مقدار دهی می شود.
- متغیر محلی به صورت %var% نمایش داده شده
- متغیر دستور for بصورت %%var نمایش داده شده
- متغیر خط فرمان بصورت %var نمایش داده شده
- دستور goto: برای پرش به یک دستور از فرمان goto استفاده می گردد و برچسب ها با عملگر از : نشان داده می شوند طول آنها حداکثر 127 کاراکتر بوده و از حروف و عدد تشکیل شده اند.
- دستور echo: نمایش پیغام و ایجاد یک خط مانند اینتر و دستور @echo on or off برای نمایش یا عدم نمایش خط دستورات در حال اجرا
- start: اجرای یک برنامه بطور مستقل و همزمان ، سوئیچ های دستور start عبارتند از پارامتر min موجب شده برنامه به صورت حداقل اجرا گردد .پارامتر max موجب شده برنامه بصورت حداکثر اجرا گرددپارامتر /wait اجرای برنامه تا انتها به طول انجامیده
- دستور If:دستور شرط به این صورت که اگر شرطی برقرار بود دستوری اجرا شود و در غیر این صورت دستور دیگری اجرا گردد
- دستور FOR:با این دستور می توان کارهای زیر را انجام داد:حرکت بر روی فایلها و پوشه ها،حرکت بر روی انواع مجموعه ها،خواند فایل هائی با ساختار مشخص،درست کردن شمارنده های پیشرفته ،از این دستور جهت ایجاد حلقه استفاده کرده.
- دستور rem :جهت ارائه توضیحات در ارتباط با دستورات و عدم اجرای یک خط دستور
- علامت :: بجای دستور rem می توان استفاده کرد.
- دستور dir : نمایش لیست فایلها و پوشه های مسیر مربوطه
- دستور cd : ورود به یک پوشه
- دستور md : ساخت پوشه
- دستور rd :حذف پوشه
- دستور attrib : تغییر یا بررسی خصلت فایلها
- دستور del وerase : حذف فایل یا فایله
- دستور copy: عملیات کپی فایل از مبدا به مقصد
- دستور replace:جایگزینی یک فایل
- دستور move:انتقال فایل
- دستور ren:تغییر نام فایل
- دستور cls : پاک کردن صفحه نمایش
- دستور title: تغییر عنوان صفحه cmd
- دستور time:نمایش ساعت سیستم
- دستور tree:نمایش درختی پوشه ها و فایلها
- دستور findstr:جستجوی یک رشته در یک فایل
- دستور sort:مرتب سازی محتویات فایل
- دستور CHOICE:امکان انتخاب برای ادامه کار را برای کاربر فرام کرده .
نحوه استفاده از این دستور به شرح ذیل است:
[/C[:]choices] [/N] [/S] [/T[:]c,nn] [text] choice
- /C[:]choices کلیدهای مجاز مشخص که پیش فرض Yو N هستند
- /N عدم نمایش موارد انتخاب و علامت سؤال
- /S حساسیت موارد انتخاب به حروف بزرگ و کوچک
- /T[:]c,nn انتخاب پیش فرض C و بعد از nn ثانیه
- text جمله اعلان جهت نمایش
مثال
مثال 1: جستجوی عبارت cmd در فایل Help.txt موجود در درایو c
Findstr ali c:\a.txt
مثال 2: جستجوی کلیه فایلهای متنی داخل درایو c و پوشه های آن که دارای کلمه win است.
Findstr /s win c:\*.txt
مثال3:
@ECHO OFF SET SCORE=10 ECHO %SCORE% OUTPUT : 10
مثال4 : لیست فایلهای پوشه مربوطه ای که این فایل دسته ای در اون اجرا شدرو در فایلی به نام A.TXT ذخیره و با NOTEPAD نمایش داده.
@ECHO O FF DIR/W > A.TXT START NOTEPAD A.TXT< DIR/W
مثال5 : محاسبه میانگین دو عدد
@ECHO OFF SET score1=10 set score2=15 SET /A SCORE=%SCORE1%+%SCORE2% SET /A SCORE=(%SCORE1%+%SCORE2%)/2 ECHO %SCORE%
مثال 6: نمایش حروف بعد از کاراکتر چهارم به تعداد 1
@ECHO OFF SET STR=ALIREZA %STR:4,1% OUTPUT : LIR
مثال7 : در صورت وجود فایل a.txt در درایو c آن را به b.txt تغییر نام داده
If exist c:\a.txt Ren c:\a.txt c:\b.txt Else Echo "no file"
مثال 8:ساخت درایو مجازی y که به پوشه backup متصل باشد
subst y: c:\backup
مثال 9: در صورت وجور فایلی به نام 1.txt در درایو c: سیستم بصورت خودکار بعد از 50 reset شده
If exist c:\1.txt shutdown.exe -r -f -t 00 -c "Windows will now restart..." If exist c:\a.txt Else Echo "no file"
نکته : جهت قطع عملیا ت shutdown دستور زیر را وارد نمائید
Shutdown -a
مثال 10: تایپ اعداد از 4 تا 9
@echo off FOR /L %I IN (4,1,9) DO ECHO %I
مثال 11: تایپ اعداد از 20 تا 6 بصورت معکوس 3 تا سه تا
FOR /L %I IN (20,-3,6) DO ECHO %I
مثال 12: نمایش تمام فایلهایی که با حرف a شروع می شوند و با حرف b ختم می شوند را از درایو c در لیستی نمایش می هد.(اگر از درایو c اجرا شده باشد)
For %i in (a*b.txt) do echo %i
مثال 13: نمایش تمام فایهای تصویری که حرف اول آنها با b و حرف چهارم آنها h نمایش داده (از درایو و مسیری که در حال اجرا است)
For %i in (b??h*.jpg) do echo %i
مثال 14: نمایش تاریخ، ساعت به ترتیب با استفاده از دستور for
For %i in (date time) do %i
مثال15: فعال شدن منو و امکان انتخاب یک عدد 1 یا 2 و یا3 .در صورت انتخاب 2 ، سیستم reset شود و در صورت انتخاب 3 ، سیستم خاموش شود و در صورت انتخاب 1 عمل خاموش شدن و یا راه اندازی متوقف گردد.
@echo off rem "1:abort - 2:shutdown - 3:reset" CHOICE /C:123 %1 IF ERRORLEVEL ==3 GOTO THREE IF ERRORLEVEL ==2 GOTO TWO IF ERRORLEVEL ==1 GOTO ONE GOTO end :THREE shutdown.exe -r -f -t 50 -c "Windows will now restart..." GOTO end :TWO shutdown.exe -s -f -t 40 -c "Windows will now shutdown.... " GOTO end :ONE shutdown -a :end
مثال16: بازشدن پنجره notepad در حالت ماکزیمم
start /MAX notepad myfile.txt
مثال17: اجرای یک موسیقی
start c:\music\"my song.mp3"
فایل های اجرایی BAT کاربرد فراوانی برای متخصصان بالاخص بدافزار نویسان دارد .این فایل ها در هر محیطی قابل اجرا هستند و از دیگر ویژگی های آنها می توان به مفسری بودنشان اشاره کرد (خط به خط اجرا می شوند) ، به همین جهت هر خط برای خود می تواند یک دستور مجزا باشد.هر فایل BAT می تواند چندین برنامه اجرایی را اجرا و خروجی آنها را درون فایلی ذخیره کند و یا اینکه بر روی مانیتور یا چاپگر ارسال کند. از کاربردهای دیگر این نوع فایل ها می توان به اجرای کارهای دسته ای و تکراری اشاره کرد که در هر ویرایشگری قابل ویرایش هستند. در همین سایت مقالات متعددی در ارتباط با نحوه ایجاد فایل های دسته ای آموزش داده شده است.در ادامه تصمیم داریم با استفاده از کد دستور تعدادی اعداد تصادفی 4 یا 5 رقمی ایجاد کنیم.
- شرح : به این صورت که بعد از اجرای برنامه منویی فعال گردد ( در این منو دو گزینه بمنظور تولید 3یا 8عدد تصادفی فعال شده) و شما با انتخاب گزینه مربوطه، می توانید نتیجه دلخواه را مشاهده نمائید.
@echo off :Start2 cls goto Start :Start title CREAT Password echo —————————————-¬———————– MAKE PASSWORD 3 OR 8 DIGITS echo —————————————-¬———————– echo 1) 3 Random Password echo 2) 8 Random Passwords echo Input your choice set input= set /p input= Choice: if %input%==1 goto A if NOT goto Start2 if %input%==2 goto B if NOT goto Start2 :A cls echo —————————————-¬———————– echo password CREATE is %random%, %random%, %random%. echo AGAIN. echo —————————————-¬———————– echo 1) Go back to the beginning echo 2) Exit set input= set /p input= Choice: if %input%==1 goto Start2 if NOT goto Start 2 if %input%==2 goto Exit if NOT goto Start 2 :Exit exit :B cls echo —————————————-¬———————– echo passwords are: %random%, %random%, %random%, %random%, %random%, %random%, %random%, %random% . ECHO AGAIN. echo —————————————-¬———————– echo 1) Go back to the beginning echo 2) Exit set input= set /p input= Choice: if %input%==1 goto Start2 if NOT goto Start 2 if %input%==2 goto Exit if NOT goto Start 2 :C
سلام
من یه فولدر دارم که یه سری فایل داخلش هست. هر روز هم فایل داخلش اضافه میشه
حالا میخواستم یه دستور بنویسم که هر وقت اجراش کردم بیاد فایلهای توی این فولدر رو تک به تک بررسی کنه و فایلهایی که تاریخ ساخته شدنشون از 40 روز میگذره رو توی یه فولدر دیگه انتقال بده
ممنون میشم راهنمایی کنید
سلام
ممنون به خاطر توضیحاتون.
امیدوارم این توضیحات ادامه پیدا کنه... :)