چگونه یک بچ فایل ساده بنویسیم – آموزش گام به گام


بچ فایلها (که با فرمت Bat. شناخته میشوند) یکی از راههای سادهی انجام کارها در رایانهها هستند. «بچ» (Batch) به معنای «دسته» میباشد و «بچ فایل» یعنی فایلی که چندین کار را به صورت دستهای انجام میدهد. این فایلها برای انجام خودکار وظایف روزانه استفاده میشوند تا زمان تکمیل یک کار را کاهش داده یا انجام یک پروسهی پیچیده را برای همه ممکن سازند. در این مطلب به مقدمات نوشتن یک بچ فایل میپردازیم تا بتوانید در زمان نیاز برای کارهایتان از آنها استفاده کنید.
چگونه در ویندوز یک بچ فایل بنویسیم؟
قبل از اینکه وارد جزئیات کار شویم، یک نگاه کلی به مراحل نوشتن بچ فایلها میاندازیم. در زیر این مراحل به صورت قدم به قدم آورده شدهاند.
- یک فایل متنی توسط «Notepad» یا «Wordpad» یا هر ویراستار متن دیگری باز میکنیم.
- دستورات خود را مینویسیم. این دستورات را با «echo off@» شروع کرده و سپس تیتر (شروع با دستور «title») و متن خط اول (شروع با دستور «echo») را نوشته و پس از آن دستور «pause» را مینویسیم.
- فایل را با پسوند «bat.» ذخیره میکنیم (مثلا «test.bat»).
- بر روی فایل ساخته شده دوبار کلیک مینماییم تا اجرا شود.
- برای ویرایش یک بچ فایل، بر روی آن راست کلیک کرده و گزینهی «Edit» را میزنیم.
تصویر زیر نمونهای از یک فایل خام است:
تصویر زیر نیز این بچ فایل را در حالت اجرا نشان میدهد:
حال به ادامهی مطلب توجه کنید تا با جزئیات این دستورات و نحوهی گسترش بچ فایلها آشنا شوید.
گام اول: ساخت یک فایل با پسوند BAT
فرض کنید مسئول شبکهای هستید که به طور مداوم به مشکل بر میخورد و شما دائما باید در «خط فرمان» (command prompt) از دستورات «ipconfig» و «ping» استفاده نمایید تا مشکلات آن را پیدا کنید. پس از مدتی شاید به ذهنتان خطور کند که اگر یک فایل BAT برای این کارها بنویسید و با ذخیرهی آن در یک فلش، در هر سیستمی که میخواهید از آن استفاده کنید، خیلی در زمان خود صرفهجویی خواهید کرد. در همچین جاهایی است که به ارزش نوشتن بچ فایلها پی میبرید. حال در ادامه به نحوهی ساخت این فایلها میپردازیم.
ساخت یک فایل BAT جدید و کد نویسی در آن
بچ فایلها با استفاده از خط فرمان ویندوز، کارهای تکراری کامپیوتری را سادهتر میکنند. در زیر یک مثال از یک بچ فایل را آوردهایم که وظیفهی نمایش یک متن را در خط فرمان بر عهده دارد. برای ساخت یک فایل با پسوند BAT تنها کافی است در یک جای خالی داخل یک پوشه راست کلیک کرده و از منوی «New» گزینهی «Text Document» را انتخاب کنید.
فایل جدیدی که ساختهاید را توسط یک ویراستار متن باز کرده و کد زیر را در آن وارد نمایید.
کد بالا باعث میشود که خط فرمان نوشتهی «Welcome to batch scripting!» را نمایش دهد. حال از طریق منوی «File» گزینهی «Save As» را انتخاب نموده و نام مورد نظر را برای فایل مشخص کنید، در پایان نام فایل نیز عبارت «bat.» را وارد نمایید (مثلا welcome.bat). در نهایت گزینهی «OK» را بزنید تا پروسهی ساخت بچ فایل به اتمام برسد. حال فایل ساخته شده را اجرا نمایید تا نتیجهی کار را ببینید.
اشتباه نکنید، بچ فایل امکانات خیلی بیشتری از نمایش دادن چند کلمه دارد. پارامترهایی که میتوانید در یک «بچ اسکریپت» (Batch Script) استفاده کنید، همان دستورات خط فرمان هستند که با کمی تغییرات مواجه شدهاند. به همین جهت در بچ فایلها تنها کارهایی را میتوانید انجام دهید که امکان انجام آنها از طریق خط فرمان وجود داشته باشد. اگر با خط فرمان ویندوز خیلی آشنا نیستید، مشاهدهی «آموزش کاربردی خط فرمان ویندوز (Command Prompt یا CMD)» به شما توصیه میشود.
گام دوم: یادگیری چند کد ساده
اگر به کد نویسی در خط فرمان ویندوز آشنا باشید، قطعا نوشتن فایلهای BAT برایتان کار سادهای خواهد بود، چراکه هر دو از یک زبان استفاده میکنند. تنها تفاوت این است که شما به جای تایپ مستقیم دستورات، آنها را از طریق یک فایل برای خط فرمان ارسال میکنید. این کار نه تنها در زمان و انرژی شما صرفهجویی میکند، بلکه به شما اجازه میدهد کمی منطق نیز به دستورات خود اضافه کنید، یعنی قادر خواهید بود از حلقهها، جملات شرطی و سایر موارد برنامهنویسی استفاده نمایید. حال به بررسی برخی از دستورات مقدماتی قابل استفاده میپردازیم.
echo@: با استفاده از این پارامتر قادر خواهید بود که وضعیت اسکریپت خود را در خط فرمان مشاهده کنید. اگر در جایی از کد شما خطایی وجود داشته باشد، با تابع «echo» قادر به مشاهدهی مشکلات آن خواهید بود. با استفاده از دستور «off» در انتهای «echo» (مانند echo off@) میتوانید به محض پایان دستورات، اسکریپت خود را ببندید.
Title: این دستور عملکردی مشابه تگ «<title>» در زبان HTML دارد و یک تیتر برای بچ اسکریپت شما در پنجرهی خط فرمان مشخص میکند.
cls: با استفاده از این دستور میتوانید خط فرمان خود را خالی کنید. بهترین مورد استفادهی این دستور زمانی است که کدهای طولانی در حال اجرا هستند و باعث میشوند موارد مهم به سختی در خط فرمان قابل یافتن باشند.
rem: این دستور خلاصه شدهی عبارت «Remark» است که همانند تگ «-!>» در HTML کار میکند و برای نوشتن توضیحات در بخشی از کد استفاده میشود. کدهایی که با دستور «rem» نوشته میشوند قابل اجرا نیستند و فقط در هنگام مطالعهی کد، به شما توضیحاتی را ارائه میدهند.
a%%: هر فایل را در یک پوشه قرار میدهد.
(“\.”): این دستور آدرس پوشهی اصلی که فایل BAT در آن قرار دارد را بر میگرداند. در هنگام استفاده از خط فرمان، برای تغییر نام یا حذف یک فایل، باید ابتدا وارد پوشهی مورد نظر شوید. در هنگام استفاده از بچ فایلها، تنها کافی است فایل BAT را در پوشهی مورد نظر ریخته و از این دستور استفاده کنید.
pause: اجرای ادامهی کدهای شما را به صورت موقت متوقف میکند. با استفاده از این دستور، کاربر فرصت مطالعهی متون نوشته شده در خط فرمان را پیدا میکند. همچنین پیغام «... Press any key to continue» نیز نمایش داده میشود که کاربر بداند با زدن هر کلیدی میتواند اجرا دستورات را ادامه دهد.
[Start “” [website: این دستور آدرس نوشته شده را با مرورگر پیشفرض ویندوز باز میکند.
ipconfig: دستور «ipconfig» یکی از دستورات قدیمی خط فرمان است که اطلاعات مربوط به شبکه را به ما نمایش میدهد. این اطلاعات شامل «MAC Address»، «IP Address» و «Sub-net mask» سیستم میشود.
ping: این دستور برای پینگ گرفتن با یک آدرس IP استفاده میشود که با ارسال یک بسته به سرور مشخص شده، موقعیت و فاصلهی زمانی آن را میسنجد.
تعداد دستورات قابل استفاده در بچ فایلها بسیار زیاد است. خوشبختانه در سایت «Wikibook» یک لیست کامل از پارامترها و متغیرهای بچ در دسترس عموم قرار دارد که میتوانید از این لینک به مطالعهی آنها بپردازید.
گام سوم: نوشتن و اجرای فایلهای BAT
در زیر دو نمونه بچ اسکریپت میسازیم که میتوانند فعالیتهای روزمرهی آنلاین و آفلاین شما را سادهتر کنند.
اسکریپت خبری
شاید برایتان پیش آمده باشد که هر روز به محض بیدار شدن از خواب بخواهید تعدادی سایت را همزمان باز کنید. از آن جایی که بچ اسکریپتها از پارامترهای خط فرمان استفاده میکنند، میتوانیم به سادگی یک اسکریپتی بنویسیم که تمامی سایتهای مورد نظر ما را در یک مرورگر باز نماید.
برای اینکه مراحل ساخت یک بچ فایل را مرور کرده باشیم، از ابتدا مراحل را به طور خلاصه توضیح میدهیم. ابتدا در یک فضای خالی در یک پوشه راست کلیک کرده و از طریق منوی «New» گزینهی « Text Document» را انتخاب نمایید. سپس دستوراتی که در زیر آمده است را در فایل خود وارد کنید. لیست زیر شامل برخی از سایتهای پر کاربرد میشود.
کد بالا از چندین دستور Start به صورت همزمان استفاده میکند تا چندین سایت را با هم باز نماید که در صورت نیاز میتوانید لینکهای وارد شده را به آدرسهای مورد نظر خودتان تغییر دهید. پس از وارد کردن دستورات بالا، از منوی «File» گزینهی «Save As» را انتخاب کنید. در پنجرهی بعدی نام فایل را با پسوند bat. وارد کرده و مقدار «Save as type» را به «(*.*)All Files» تغییر دهید.
پس از ذخیرهی فایل، میتوانید با دو بار کلیک آن را اجرا کنید. با این کار، بلافاصله سایتهای وارد شده باز میشوند. در صورت علاقه نیز میتوانید این فایل را در دسکتاپ خود ذخیره کنید تا به راحتی به تمام وبسایتهای مورد علاقهیتان دسترسی داشته باشید.
اسکریپت سازمان دهندهی فایلها
حتما شده که در یک روز به قدری فایلهای مختلف دانلود کنید که نظم پوشهی دانلودهای ویندوز کاملا به هم بریزد. برای حل این مشکل تنها کافی است یک بچ اسکریپت با استفاده از دستورات زیر بسازید تا فایلهای شما را بر اساس نوع فایل دستهبندی کند. سپس فایل bat. را در پوشهی مورد نظر ریخته و آن را اجرا کنید.
اینها فقط بخش کوچکی از قابلیتهای بچ اسکریپتها هستند. اگر کار سادهای دارید که باید به طور مداوم آنها را تکرار کنید، میتوانید با استفاده از بچ اسکریپتها، خود را از نیاز به انجام مکرر آنها راحت نمایید. دستهبندی فایلها، باز کردن چندین سایت، تغییر نام دستهای فایلها یا کپی کردن اسناد مهم را به بچ فایلها بسپارید و از سادگی کارهایتان لذت ببرید.
امیدواریم که مطالعهی این مطلب برایتان لذتبخش و مفید بوده باشد. اگر در مورد خط فرمان به اطلاعات بیشتری نیاز دارید، میتوانید از مطالب پیشنهادی زیر استفاده کنید:
- آموزش کاربردی خط فرمان ویندوز (Command Prompt یا CMD)
- ترفندها و نکات خط فرمان ویندوز
- آموزش برنامهنویسی از مبتدی تا پیشرفته – فرادرس
- آموزش برنامه نویسی اندروید
#
تشکر از pdf کع قرار دادید چون پرینت می گیرم و سر صبر می خونم .
با سلام
میخواستم بدانم چطوری یک فایل بچ را در diskpart اجرا کنیم. آیا دستوری در این زمینه وجود دارد؟
ممنون
سلام
ی فایل bat میخوام بسازم سه تا رنج آی پی مختلف رو برام پینگ بگیره ممنون میشم کسی بلده راهنمایی کنه منو چجوری انجام بدم ؟؟؟
@echo off
ping ip
ping ip
ping ip
سلام من اگر بخوام یک دستوری مثل دستور اسمال بیسیک Textwindow.read() رو توی بچ فایل چی هست دستورش؟ ممنون میشم راهنمایی کنید
سلام
من میخوام یه فایل بت بسازم که وقتی روش دوبار کلیک کردم یه رشته یا متنی رو واسه من پیست کنه تو محیط مثلا واتس اپم یا هر فیلدی که جای تایپ متن یا پسوورد داره
مثلا تو قسمت تایپ واتس اپم باشم و رو فایلم دو بار کلیک کنم و به جاش بنویسه :
سلام
خوبی؟
چه خبرا؟
با سلام خدمت تمامی دوستان عزیزان لطفاً کسی هست بتونه منو راهنمایی کنه من یک سری فایل متنی دارم که در واقع بین هر کدام از این متن ها می خواهم یک لاین خالی ایجاد کنم .
متنها به این شکل هستند
ایجاد
انگیزه
امید
روی
زمین
می خواهم به این شکل در بیاید
ایجاد
انگیزه
امید
روی
زمین
پیشاپیش از شما بابت زحمتی که میکشید قدردانی می کنم
باسلام
آيا دستوري هست كه من با آن يه فايل Bat بسازم كه از كاربر يه IP بگيره وآن را چك كنه ونتيجه رو اعلام كنه
سلام خسته نباشین
فایلهای bat روی اندروید اجرا میشه؟
اندروید لینوکسه ویندوز msdos هست پس نه
نه
واقعا توضیحاتتون عالی بود.مرسی
اگه میشه کد های بیشتری رو کار کنین
چرا وقتی تو cmd میخوام دکمه ای رو بزنم صحفه بسته میشه
سلام خسته نباشید لطفاً به من یک دستور معرفی کنید که بشه باهاش انتهای تمام فایل های متنی که در یک پوشه جمع شدن بشه یک خط یا یک لاین خالی به صورت دسته جمعی اضافه کرد.
با تشکر از زحمات شما
سلام اگه بخواهیم هر روز داخل یک سایت بر روی یک گزینه خاصی برویم و روی آن هروز کلیک کنیم آیا با این برنامه میشه این کار رو انجام داد؟ میشه راهنمایی کنید؟
سلام. این کار نیازمند اسکریپتهای پیشرفتهتری است که با JavaScript یا VBScript میتوان آنها را پیادهسازی کرد و بعید میدانم که توسط بچ فایلهای خود ویندوز چنین امکانی وجود داشته باشد.
یکی از روشهای انجام این کار شبیهسازی عملکرد کاربر بر روی ماوس و کیبورد است، به گونهای که مثلا شما مشخص میکنید که ماوس به فلان مختصات بر روی نمایشگر برود، کلیک کند، سپس چند ثانیه صبر کند (تا صفحه لود شود) و پس از آن به مختصات دیگری رفته و کلیک کند. این کار توسط VBScript قابل انجام است و میتوانید راجع به آن تحقیق کنید.
سلام عالی بود دستورات بیشتری رو بخوام یادبگیرم چکار کنم؟برنامه نویسی بلد نیستم