تا به حال با دستورات Time ، Date , Chdir ، Dir , Cls ، Ver , Del , Copy ، Ren , Tree , Md , Move ، Defrag , DelTree , Find آشنا شدید. در این آموزش میخواهیم شما را با دستورات Attrib ، XCopy ، Call آشنا کنیم.
ATTRIB
شکل کلی دستور:
کد:
ATTRIB [d:][path]filename [/S]
ATTRIB [+R|-R] [+A|-A] [+H|-H] [+S|-S] [d:][path]filename [/S]
عمل: مشخص کردن صفات یک فایل یا دایرکتوری از قبیل hidden , read-only , archive , system
با این دستور میتوانید صفات یک فایل یا دایرکتوری را مشخص کنید. مثلاً فایلی را مخفی کنید یا فایلی را تنها خواندنی کنید. مثلاً با دادن صفت read-only به یک فایل میتوانید آن فایل را تنها قابل دسترسی و باز کردن کنید اما قابل اصلاح و تغییر دادن یا پاک کردن نیست.
اگر فایلی را با +R تبدیل به read-only کنید و بعد خواستید آن را پاک کنید داس پیغام Access denied میدهد. شما باید قبل از اینکه فایل را پاک کنید آن را به –R تبدیل کنید تا از حالت read-only خارج کنید.
از کاراکترهای * و ؟ هم میتوانید استفاده کنید اما نمیتوانید با تغییر دادن صفت یک دایرکتوری آن تغییرات را روی تمام فایلها و ساب دایرکتوریهای درون آن اعمال کنید.
کد:
فایل Read-only میشود یعنی میتوانید آن را بخوانید اما نمیتوانید تغییرش بدهید یا پاکش کنید.
کد:
عکس کار بالایی را انجام میدهد یعنی فایل را از حالت Read-only خارج میسازد.
کد:
آرشیو کردن فایل
کد:
عکس حالت قبلی
کد:
مخفی کردن فایل
کد:
عکس عمل بالا
کد:
سیستمی کردن فایل (اگر در این حالت سعی کنید فایل را مخفی کنید یا فقط خواندنی کنید اخطار میدهد)
کد:
عکس عمل بالا
کد:
با استفاده از این دستور میتوانید صفتی را به همه ساب دایرکتوری آن مسیر اعمال کنید.
مثال: برای فقط خواندنی کردن فایل Sales87.txt تایپ میکنیم:
کد:
Attrib +r a:sales87.txt
برای archive کردن Letter3.doc که در دایرکتوری Letters در درایو B قرار دارد مینویسیم:
کد:
Attrib +a b:\letters\letter3.doc
حال چرا فایلی را آرشیو میکنیم؟ برای اینکه دستوراتی مثل Backup , Restore و Xcopy از فایلهای آرشیو استفاده میکنند. همانطور که داس از فایلهای سیستمی استفاده میکند.
برای فهمیدن صفات فایلها موجود در یک دایرکتوری مینویسیم:
مثلاً فرض کنید وارد درایو B و بعد دایرکتوری Letters میشوید. و حالا در اینجا تایپ میکنید attrib *.* خب چیزی که ظاهر میشود این است:
کد:
A B:\letters\letter3.txt
A R B:\letters\sales87.doc
B:\letters\sales-n.txt
یعنی اینکه فایل letter3.txt فایلی آرشیو ، Sales87.doc فایلی آرشیو و فقط خواندنی و Sales-n.txt فایلی بدون صفت میباشد.
XCOPY
شکل کلی دستور:
کد:
XCOPY [d:][path]filename [d:][path][filename] [/A][/D:(date)] [/E][/M][/P]
[/S][/V][/W][Y|-Y]
عمل: کپی کردن دایرکتوریها، ساب دایرکتوریها و فایلها
اولین Filename نام فایل مبدا یا همان فایلی که قرار است کپی شود و دومین Filename هم نام فایل مقصد یا همان نام فایل کپی شده است.
مسیر اول هم مسیر فایل مبدا و مسیر دوم مسیر فایل مقصد میباشد اگر مسیر دوم را ننویسید فایلهای کپی شده در همان دایرکتوری جاری کپی میشوند.
دستور XCOPY برای کپی کردن تمام یک دیسک، شامل تمام دادهها و فایلها و دایرکتوریها بکار میرود. این دستور بجای دستور DISKCOPY در زمانی استفاده میشود که بخواهید اطلاعات را از یک دیسک با یک فرمت به دیسک دیگری با فرمت متفاوت کپی کنید. (مثلاً کپی کردن از دیسک inch ¼ 5 به دیسک inch ½ 3)
دستور XCOPY از دستور COPY قدرتمندتر میباشد بخصوص در زمانی که بخواهید از درایو بکآپ بگیرید.
کد ارورهای احتمالی:
کد:
0 – Copying was completed without error
1 – No files found
2 – User terminated the copy
4 – Initialization error (not enough memory, invalid syntax, path not found)
5 – Copy terminated due to INT 24 error reading or writing disk
کد:
تنها فایلهایی را کپی میکند که Archive باشند و فایلهای کپی شده هم این صفت را خواهند داشت.
کد:
تنها فایلهایی را کپی میکند که پس از آن تاریخی که مشخص کردید دچار تغییر شده باشند.
کد:
تمام فایلها و ساب دایرکتوریهای مسیر مشخص شده را کپی میکند
کد:
ساب دایرکتوریها را کپی میکند حتی اگر خالی باشند. در صورت استفاده از این قسمت باید /S را هم بنویسید.
کد:
این سویچ هم مثل /A عمل میکند با این تفاوت که در /A هم فایلهای مبدا و هم مقصد دارای صفت Archive میشدند اما در اینجا فایلهای مقصد آرشیو نمیشوند و همچنین این سویچ فقط فایلهای آرشیو را کپی میکند.
کد:
از شما میپرسد که آیا مطمئنید میخواهید فایل کپی شود. هر چند اگر این سویچ را با سویچ /E بکار ببرید اگر داس به یک دایرکتوری خالی برسد آن را کپی میکند و از شما اجازه نمیگیرد.
کد:
برنامه مطمئن میشود که فایل مبدا و مقصد مثل هم باشند و در حین کپی کردن اختلافی بوجود نیامده باشد.
کد:
دستور کپی کردن زمانی شروع میشود که شما اجازه را صادر کرده باشید! اگر از این سویچ استفاده نکنید به محض نوشتن دستور و زدن Enter کار کپی شروع میشود.
کد:
جابجا کردن فایلهای مقصد با فایلهای هم نامی که ممکن است در محل مقصد وجود داشته باشند بدون اجازه گرفتن ازشما.
کد:
عکس عمل بالا. یعنی در صورت برخورد با فایل هم نام از شما میپرسد که آیا مایل به جایگزینی هستید یا نه.
مثال: برای کپی کردن تمام فایلها و دایرکتوریها (بجز دایرکتوریهای خالی) از درایو C به درایو A تایپ میکنیم:
CALL
شکل کلی دستور:
کد:
CALL [d:][path]batchfilename [option]
عمل: فراخوانی یک Batch file دیگر و سپس برگشتن به Batch file در حال اجرا و ادامه دادن مراحل
اول از همه تعریف batch file : batch file یک فایل Ascii است که شامل یک یا چند فرمان برای سیستم عامل است. این فایلها با پسوند “.cmd” یا “.bat” شناخته میشوند. زمانی که نام این فایل را در محیط خط فرمان تایپ کنید اجرا میشوند و دستورات داخل فایل به ترتیب اجرا میشوند.
وقتی که یک batch file در حال اجرا است شما میتوانید با دستور CALL یک batch file دیگر را هم فراخوانی کنید که در این صورت به batch file دومی Called batch file گفته میشود. وقتی که batch file دوم شروع میکند به اجرا شدن و پس از آنکه به پایان میرسد داس به batch file اولی بر میگردد.
مثال: برای اجرای فایلهای Tester.bat , Starter.bat و Finish.bat به ترتیب فرمانهای زیر رو وارد میکنی
کد:
م:
Call starter
Call tester
Call finish