آموزش ساخت فایل bat
زبان بچ اسکریپت به شما اجازه میدهد تا با استفاده از دستورات cmd یک اسکریپت برای خود بسازید و کارهای که به صورت عادی باید برای هر کدام از آنها وقت بگذارید را یکجا و در یک فایل Batch به صورت خودکار انجام دهید. در واقع بچ اسکریپت به شما اجازه میدهد تا دستورات cmd را در یک فایل متنی وارد کرده و پس از اجرای آن فایل Batch دستورات پشت سر هم اجرا شوند. در آموزش ساخت فایل bat همراه با نووا بلاگ باشید.
فصل اول: مبانی آموزش ساخت فایل bat
گفتنی است که Batch Script همانند باقی زبان های برنامه نویسی دارای قوانین و قواعد خاص خود میباشد که در صورت رعایت نکردن آنها فایل Batch شما بدرستی عمل نخواهد کرد.
پیشنهادی: اگر به یاد گیری زبان برنامه نویسی Batch Script علاقه دارید حتما به صفحه آموزش بچ اسکریپت سر بزنید.
چگونه یک فایل Batch بسازیم؟
برای ساخت فایل Batch ابتدا یک فایل متنی بسازید سپس پسوند فایل متن که .txt میباشد را به .Bat یا .cmd تغییر دهید. معمولا پس از تغییر، هشداری مبنی بر: (در صورت تغییر پسوند ممکن است فایل شما غیر قابل استفاده شود) را مشاهده کنید که باید روی Yes کلیک کنید. پس از تغییر پسوند آیکون فایل متنی به چرخ دنده تغییر خواهد نمود:
نکته: در صورت مشاهده نکردن پسوند فایلها (File Extension) ابتدا باید از تب View در پنجره Folder Option تیک گزینه Hide Extension for known File Types را بردارید. تا پسوند کلیه فایلها نمایش داده شود.
پس از تغییر پسوند فایل از .TXT به .BAT فایل از حالت متنی بودن خارج شده و به یک فایل اجرای تبدیل میشود. برای ویرایش این فایل کافیست روی آن کلیک راست کنید سپس گزینه Edit را انتخاب کنید تا برنامه Notepad اجرا شود.
همانطور که گفتم همانند دیگر زبان های برنامه نویسی و اسکریپت نویسی Batch Script هم دارای قواعد و قوانین خاص خود میباشد. اولین دستوری که باید در فایل Batch تایپ شود تا مشخص شود این یک Batch File است دستور @ECHO OFF میباشد.
به صورت عادی دستور ECHO برای نمایش پیام ها استفاده میشود اما در صورتی که با کلمه Off وارد شود محیط CMD را به حالت غیر تعاملی یا None-Interactive تبدیل میکند.
علامت @ که قبل از دستور Echo Off استفاده شده برای غیر فعال نمودن Verbose در فایل Batch میباشد. یعنی با اضافه نمودن این علامت قبل از دستور ECHO OFF دیگر آدرس درایو و دستور ECHO OFF را مشاهده نخواهید نمود.
@ECHO OFF
همانطور که گفتم برای نمایش پیام ها باید از دستور ECHO به همراه پیام مورد نظر خود استفاده کنید. مثلا برای نمایش پیام This File is My First Batch Programing File باید دستور ECHO را به همراه پیام ذکر شده در خط بعد از دستور @ECHO OFF وارد کنید. برای مثال:
@ECHO OFF ECHO This File is My First Batch Programing File.
یکی دیگر از کارهای که میتوانید با دستور ECHO انجام دهید اضافه نمودن خطوط خالی میباشد. برای اضافه نمودن یک خط خالی باید از دستور ECHO. استفاده کنید. برای مثال:
@ECHO OFF ECHO. ECHO This File is My First Batch Programing File.
نکته: بهتر است بعد از ایجاد هر گونه تغییری فایل Batch را Save کرده و حاصل آن را با اجرا کردن فایل مشاهده کنید. اگر فقط از دستور Echo استفاده کرده باشید فایل به سرعت نمایش داده شده و بسته میشود. برای ایجاد توقف باید از دستور Pause در آخر فایل BATCH استفاده کنید. برای مثال:
@ECHO OFF ECHO. ECHO This File is My First Batch Programing File. PAUSE
پس دستور @Echo off برای مشخص نمودن Non-Interactive بودن فایل Batch است و دستور Echo. هم برای ایجاد یک سطر فاصله استفاده میشود. و دستور Echo به همراه پیام هم برای نمایش پیام مورد نظر شما است. دستور Pause هم برای توقف استفاده میشود.
آزمایشگاه: با آنچه که تا به حال یاد گرفته اید یک فایل Batch بسازید و فهرستی از مطالب خود را به صورت Non-Interactive به نمایش در بیاورید.
مشخص نمودن عنوان در Batch File
برای مشخص کردن عنوان فایل BATCH باید از دستور TITLE در فایل BATCH استفاده کنید. کافیست تا دستور TITLE را به همراه عنوان مورد نظر خود بعد از دستور @ECHO OFF تایپ کنید. برای مثال:
@ECHO OFF TITLE Novablog.ir PAUSE
استفاده از دستور TITLE برای مشخص کردن عنوان فایل BATCH اختیاری میباشد و شما میتوانید از اضافه نمودن این دستور صرف نظر کنید. البته پیشنهاد من به شما این است که همیشه از دستور TITLE استفاده کنید و عنوانی را برای معرفی فایل BATCH خود اضافه کنید.
مشخص نمودن رنگ در Batch File
یکی دیگر از ویژگیهای که میتوانید در فایلهای BATCH از آن استفاده کنید تغییر رنگ متن و زمینه میباشد. با تغییر رنگ متن و زمینه میتوانید فایل BATCH خود را زیباتر جلوه دهید.
COLOR 0A
در دستور بالا ابتدا عدد 0 رنگ صفحه را مشخص میکند و حرف a رنگ متن را، برای دیدن فهرست رنگها کافیست از دستور Color /? در محیط CMD استفاده کنید.
استفاده از دستور COLOR همانند دستور TITLE کاملا اختیاری بوده و فقط برای نمایش بهتر فایل BATCH استفاده میشود.
مشخص نمودن ابعاد صفحه در Batch File
برای مشخص نمودن تعداد لاین ها و حرف ها در ابعاد صفحه اجرایی فایل Batch باید از دستور Mode به همراه پارامتر Con و آرگومان Lines و آرگومان Cols استفاده کنید. برای مثال:
MODE CON COLS=80 LINES=20
مشخص کردن ابعاد صفحه با دستور MODE هم اختیاری میباشد.
اضافه نمودن توضیحات به Batch file
شما میتوانید با استفاده از دستور REM توضیحاتی را در فایل BATCH خود اضافه کنید که در واقع هیچ عمل خاصی را در فایل BATCH شما انجام نمیدهد و فقط برای اضافه نمودن توضیحات اضافی در BATCH FILE استفاده میشوند.
نکته: توضیحاتی که با دستور REM اضافه میکنید حتی در اجرای فایل BATCH هم قابل مشاهده نیستند و فقط با ویرایش فایل BATCH میتوان این توضیحات را مشاهده نمود. برای مثال:
@ECHO OFF REM With Echo off Command Your Environment become None-Interactive TITLE My First Batch File REM With Title Command Your Batch File Have A Title COLOR 0A REM With Color Command You Have Colorful Environment PAUSE
خروج از فایل Batch
برای خارج شدن از فایل BATCH باید از دستور EXIT استفاده کنید. البته نیازی به استفاده از این دستور در آخر فایل Batch نمیباشد چرا که بعد از اجرای آخرین دستور موجود در فایل Batch برنامه به صورت خودکار بسته میشود که به اصطلاح به این عمل EOF یا END OF FILE گفته میشود.
مثال فصل اول
بگذارید آنچه که تا اینجا توضیح دادم را در یک مثال برایتان نمایش دهم:
@Echo off Title Novablog.ir Color 0a Mode con Lines=25 Cols=80 Echo. Echo _________________________ Echo. Echo How are you? Echo. Echo _________________________ Echo. Echo Can I Help You? Echo. Echo _________________________ Echo. Rem in This Lesson File You Learn How to Create Simple Batch File For Showing Some Messages Rem For More Practice Create a batch file and make a list from your interesting Things! Rem I think so its enough for Chapter one Rem Good Lock! Pause
32 پاسخ به “آموزش ساخت فایل bat”
با سلام
دوست عزیز من از طریق گوگل پلاس با شما و سایت زیبای تون آشنا شدم و بهره بردم از سایتی که ایجاد کردین به امید موفقیت روز افزون شما و اینکه به طور جدی تر آموزش های کاربردی تر بزارین هرچند که تا الان هم خیلیی خیلیی عالی کار کردین……با آرزوی موفقیت روز افزونتان …
سلام مصطفی جان
خیلی خیلی ممنونم که برای سایت اهمیت قائل شدید.
چشم، امید وارم شما هم در زندگیتون موفق و پیروز و سربلند باشید.
سلام خسته نباشید
آموزش ها عالی هستند
فصل دوم این بخش تو سایته؟
پیدا نکردم!
سلام عرفان جان
ممنونم
هنوز فصل دوم رو شروع نکردم.
عالی بود
ممنونم 🙂 از لطف تون
سلام
منتظر فصلهای بعدی هستیم
خیلی روان توضیح دادید ممنونم
سلام محسن جان، چشم
تا حالا پنج تا از فصل هاشو نوشتم
میتونید از منوی دروه های آموزشی گزینه آموزش کامل Batch Programming رو انتخاب کنید.
ممنون از لطف تون
سلام برنامه نویس عزیز لطفا کمک کنید
من میخوام یک فایل Batch ایجاد کنم که بتونه تمام فایلهای درون یک پوشه به فایل های پوچ تبدیل کنه مثلا درون یک پوشه 100 تا دفترچه با فرمت txt هست و هر کدامشون حجم خودشون را دارند میشه کدی ایجاد کرد که بهش حجم این 100 تا دفترچه بشه صفر؟
سلام، از این دستور میشه برای صفر کردن محتوای یک فایل یا ایجاد ی فایل خالی استفاده کرد:
break > filename.ext
سلام تازه آشنا شدم با ساییتون واقعا عالیییههه آموزش
سلام دانیال جان
ممنون از محبت تون 🙂
باعث خوشحالی که چنین نظر مثبتی رو از شما دریافت میکنم.
موفق و سربلند باشید.
سلام, تشکر از پست مفیدتون
اگر بخوایم فایلی رو اجرا کنیم باید از چه دستوری استفاده کنیم؟؟
سلام
ممنون از محبت تون، میتونید از دستور call یا start برای فراخوانی یک برنامه استفاده کنید.
موفق باشید
سلام و عرض خسته نباشید و تشکر
من یه برنامه نوشتم (البته نمیشه بهش گفت برنامه, ی چیز های مختصر) ولی العان یک مشکلی دارم بزرگ دارم
من میخوام ب صورت حلقه ایی و بالفرض مثال با استفاده از دستور Else کاربر هر حروف یا عددی رو ک وارد کرد یه قسمت از برنامه اجرا بشه
و نه فقط یکبار, ب طور مثال العان 1 رو وارد میکنه دستورات مرتبط باهش با عدد 1 خونده میشن و بعد اگر خواست 2 رو میزنه و . . .
و در نهایت هر جای برنامه Exite زد پنجره بسته بشه (یعنی پنجره مادام باز باشه تا زمـــــــآنی ک Exite رو بزنه
اگر میشه ی مقدار دستور رو بیشتر توضیح بدید, ممنون
به نام خدا
با سلام
ای والله
لینک دانلود نسخه pdf کار نمیکنه؟
فوق العاده.
خسته نباشید
خدا انشالله شما را به هر آنچه در دنیا و آخرت میخواهید برساند.
تنتون سالم و لبتون خندون و سایتون بر سر خانواده مستدام باشد.
با سلام واقعا عالی آموز دادید ممنون
با سلام خدمت تمامی دوستان عزیزان لطفاً کسی هست بتونه منو راهنمایی کنه من یک سری فایل متنی دارم که در واقع بین هر کدام از این متن ها می خواهم یک لاین خالی ایجاد کنم .
متنها به این شکل هستند
ایجاد
انگیزه
امید
روی
زمین
می خواهم به این شکل در بیاید
ایجاد
انگیزه
امید
روی
زمین
پیشاپیش از شما بابت زحمتی که میکشید قدردانی می کنم
با سلام، دستور:
echo.
خط خالی ایجاد میکنه
نقطه (.) بلافاصله بعد از دستور echo نوشته میشه
باسلام و احترام
ممنونم بابت همه چیز
موفق و پیروز باشید
سلام ممنونم
Thanks a lot
یک سوال :آیا با برنامه نویسی بچ اسکریپت میتوان کاری کنیم تا یک فایلی یا برنامه ای در هر یوزری از ویندوز بصورت startup بالا بیاد و در هر user ساخته شده ویندوز کار کند یعنی startup را برای آن برنامه بسازیم ؟؟
مثال : مثلا برنامه ساخته شده ماشین حساب ویندوز را در startup ویندوز تنظیم کنیم براحتی بالا میاد
سلام عزیز بله میشه، هر کاربر هم پوشه استارتاپ مخصوص خودش رو داره و هم آدرس رجیستری که مرتبط با استارتاپ کاربر
سپاس از مقاله خوب شما
سلام ممنونم از مخبت تون
سلام بسیار زیاد تشکر
سلام، بسیار زیاد تشکر از شما 🙂
دم شما گرم
خواهش میکنم 🙂