PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزش دستورات داس از مقدماتی تا پیشرفته به زبان ساده (قسمت سوم)



TAHA
10-03-2010, 03:44 PM
در انتهای قسمت دوم آموزش به این موضوع پرداختیم که می توانید با نوشتن دستورات دلخواه درون notepad و ذخیره کردن با فرمت bat می توان فایلی داشت که باز کردنش دستورات دلخواه شما اجرا شود. حالا به این مطلب و دستورات جالب پیرامون آن می پردازیم.
توصیه می کنم وقتی یک فایل bat می سازید برای زیبایی کار حتمأ از دستور color که در قسمت دوم آموزش یاد داده شد استفاده نمائید.
می توان با نوشتن دستور echo و متن دلخواه پیغامی را به فردی که فایل را باز می کند بدهید. مثلأ می توانید بگویید که الآن چه اتفاقی می افتد یا یک هشدار به طرف مقابل دهید:
echo hala computer restart khahad shod


در ادامه مطلب با بقیه ی آموزش ما را همراهی کنید...





این پیغام را درون notepad نوشته و با فرمت bat ذخیره کرده و آن را باز کنید. می بینید که پیغام در کسری از ثانیه ناپدید شده و پنجره ی داس بسته می شود. این موضوع باعث می شود که دستور echo بی فایده شود و اگر نباشد هم فرقی نمی کند. برای توقف بعد از دادن پیغام می توانید بعد از دستور و در خط بعد بنویسید pause. با این کار بعد از دادن پیام توقفی صورت می کیرد تا کاربر پیام را بخواند و با زدن یک کلید ادامه ی دستورات اجرا شده و بعد از آخرین خط پنجره بسته می شود:
echo hala computer restart khahad shod
pause
باز هم مشکلی وجود دارد. نوشته هایی وجود دارند که ما آن ها را نمی خواهیم و از خود داس هستند برای از بین بردن آنها در دو خط اول فایل bat و قبل از همه ی دستورات تایپ کنید:
echo off@
cls
دستور echo off از تایپ نوشته های زائد جلوگیری می کندو دستور cls هم قبلأ آموزش داده شده است.برای تایپ دوباره ی دستورات و نوشته های زائد می توانید از echo on@ استفاده کنید. تنظیمات گفته شده فقط برای همان فایلی است که درون آن نوشته می شود و برای هر فایل باید جداگانه نوشته شود.
حالا به دستور exist می پردازیم. exist یعنی موجود بودن و وجود داشتن. شما می توانید با دستور exist از وجود داشتن یا عدم وجود یک فایل با خبر شوید و با دستور شرطی if شرایطی را تعیین کنید.مثلأ می گویید اگر در فولدر جاری q.txt وجود داشت بگو وجود دارد:

if exist q.txt echo hast
این یک دستور شرطی است و در صورت عدم وجود فایل مورد نظر هیچ اتفاقی نمی افتد. کسانی که با یکی از زبان های برنامه نویسی کار کرده اند بهتر این موضوع را متوجه می شوند.
شما می توانید برای عدم وجود یک فایل یا فولدر شرط بگذارید برای این کار از not exist استفاده می شود.در ضمن می توانید کاربرد های دیگری به جز دستور echo را به کار ببرید:
if not exist a md a
دستور بالا وجود داشتن فولدری به نام a را بررسی می کند و اگر وجود نداشت آن را می سازد.
می توانید بگویید اگر فایلی وجود داشت یک سری از دستورات را اجرا کند و اگر وجود نداشت چند دستور دیگر را اجرا کند. این قسمت کمی شبیه به زبان برنامه نویسی vb است.
if not exist ab.bat goto d
ren ab.bat a.bat
md as
del s
d:
del f
md g
این قسمت از آموزش بسیار مهم است و اگر شما آن را کاملأ یاد بگیرید می توانید از داس حتی برای ساخت ویروس های خطرناک استفاده کنید یا حتی برای از بین بردن ویروس های معروف و خطرناک. داس با این همه سادگی قدرتمند است و نباید آن را دست کم گرفت.پس خوب توجه کنید.
d در خط پنجم نام یک محل است و می توانید آن را به سلیقه ی خود هر چه دوست دارید نامگذاری کنید. فقط توجه داشته باشد که :d و d: با هم تفاوت دارند. اگر : قبل از d بیاید نشانه ی یک محل است ولی اگر بعد از آن بیاید برای رفتن به درایو d است.
در خط اول گفته شده که اگر ab.bat وجود نداشت به محل d برو. یعنی دستوراتی را که زیر آن ها خط کشیده شده است را اجرا نکن و از روی آنها گذر کن بدون این که آنها را انجام بدهی.
ولی اگر وجود داشت الآن به d نرو. دستوراتی را که زیر آنها خط کشیده شده است را اجرا کن و خط به خط جلو برو و به دستورات عمل کن.
وقتی به دستوراتی که زیر آنها خط کشیده شده است عمل کرد به خط بعدی یعنی d می رود و بقیه ی دستوراتی که جزء d هستند هم اجرا می شوند. اگر می خواهید آنها اجرا نشوند قبل از d بنویسید به یک محل بعد از d برود. آن محل را mo نامگذاری میکنم و دستور من به شکل زیر تغییر خواهد کرد:
if not exist ab.bat goto d
ren ab.bat a.bat
md as
del s
goto mo
d:
del f
md g
mo:
اگر مایل به ساخت ویروس های نسبتأ پیشرفته و خطرناک با داس هستید در قسمت نظرات بنویسید تا بعدأ بیشتر توضیح دهم.
در ابتدا ساخت ویروسی بسیار ساده و تا حدودی خطرناک را آموزش می دهم.در درایو ویندوز و در فولدر WINDOWS یک سری فایل موجود است که برای اجرای ویندوز لازم است. اگر چند تا از آنها پاک شوند ویندوز خراب می شود. کافی است دستور پاک کردن آنها را بنویسید.ابتدا باید بدانید که *.* یعنی همه ی فایل ها در فولدر مورد نظر.برای پاک کردن همه ی فایل های این فولدر می نویسیم:

*.*\del c:\windows
ولی هرگز این کار را نکنید!
اگر این دستور را در یک فایل bat بنویسید و در یک کامپیوتری اجرا کنید که ویندوز در درایو d نصب شده باشد کار نمی کند. دراین صورت باید بنویسید:
*.*\del d:\windows
این کار ممکن است ناخوش آیند باشد.داس فکر اینجا را هم کرده است.عبارت %system root% یعنی درایوی که ویندوز در آن نصب شده است و فولدر WINDOWS . پس دستور ما به شکل زیر تغییر می کند:
*.*\%del %system root
باز هم می گویم که این کار را انجام ندهید.
میانبر های دیگر:
%programfiles% برای دریو ویندوز و فولدر Program files
%userprofile% برای رفتن به فولدر یوزر یعنی درایو ویندوز، فولدر Documents and Settings و رفتن به فولدر یوزر
...

حالا می خواهم نحوه ی shutdown، restart و log off کردن کامپیوتر توسط داس را آموزش دهم.
برای معرفی هر یک از حالات سه گانه ی بالا از حرف اول آنها استفاده می شود:
r=restart
s=shutdown
l=log off
برای restart کردن می نویسیم:
shutdown -r -t 10
کلمه ی shutdown در هر سه حالت موجود است و منظور خاموش کردن کامپیوتر نیست. حرف r s یا l کار را مشخص می کند. یعنی اگر می خواستیم کامپیوتر خاموش شود در دستور بالا به جای r از حرفs استفاده می کردیم یا برای log off از l استفاده می کردیم:
shutdown -s -t 10
shutdown -l -t 10
عدد 10 یعنی این عمل را بعد از 10 ثانیه انجام بده. یک پنجره ی کوچک باز می شود و شمارش معکوس از 10 ثانیه شروع می شود و وقتی تمام شد عمل مورد نظرصورت می گیرد. شما می توانید هر عددی که خواستید وارد نمائید.
وقتی شمارش معکوس آغاز می شود نمی توان پنجره را بست. تنها راه این است که درون داس یا run تایپ کنید:
shutdown -a


.:[learn4all.mihanblog.com]:.
دستور tree یک دستور جالب اما نه چندان کاربردی است که زیاد معروف نیست اما دانستن آن بهتر است.
با نوشتن tree در داس می توان تمام زیر شاخه ها و فولدر های زیر مجموعه ی فولدر جاری را تا آخر دید. اما چون تعداد خطوط در داس 300 تا است(داس در محیط ویندوز دارای محدودیت 300 خطی است اما در گذشته که یک سیستم عامل کامل و مجزا بوده فقط 50 خط داشته است) اگر در فولدری که زیر مجموعه های زیادی دارد مثلأ یک درایو که اطلاعات و فولدر های زیادی دارد از این دستور استفاده کنید ممکن است همه ی خط ها در این 300 خط جا نشوند و تعدادی از آنها قابل دیدن نباشند.
این عمل مانند استفاده ازFolders بالای پنجره ی My Computer ویندوز که کنار search و سمت راست آن است می باشد.
این دستور فقط فولدر ها را نشان میدهد و برای دیدن فایل ها باید عبارت f/ را نیز به آن بیفزاییم. و برای زیبایی کار نیز می توان a/ را به آن افزود یا حتی از هر دو آنها استفاده کرد:
tree/f
tree/a
tree/a/f


منبع: learn4all.ir (http://pnu-club.com/members/learn4all-ir.html)