-
COPY
شکل کلی دستور:
کد:
COPY [/Y|-Y] [/A][/B] [d:][path]filename [/A][/B] [d:][path][filename] [/V]
[align=left]یا[/align]
کد:
COPY [/Y|-Y] [/A][/B] [d:][path]filename+[d:][path]filename[...] [d:][path][filename] [/V]
عمل:
کپی کردن فایل ها
این دستور بطور معمول برای کپی کردن فایلها از یک مکان به مکان دیگه استفاده می شه اما باهاش می شه فایلهای جدید هم ایجاد کرد اینکارو می تونید با دستور COPY CON انجام بدید که بعد مثالش رو می گم.
اولین filename نام فایلی هستش که می خواید از روش کپی کنید و دومین filename نام فایلی هستش که می خواید نسخه کپی شده تحت اون نام ذخیره بشه.
یه سوال ازتون می پرسم: BACKUP کردن چه فرقی با کپی کردن داره؟ مگه همون کپی کردن در عمل BACKUP هم انجام نمی شه؟ پس چرا اسماشون فرق دارن؟
جواب اینه: BACKUP کردن فایلها یعنی کپی کردن اونها با همون فرمتی که دارن. یعنی در کپی کردن شما می تونید فرمت فایل کپی شده رو تغییر بدید اما در بک آپ این تغییر رو نمی تونید بدید.
توجه کنید که اگه مسیر فایلها یکی باشه و برای فایل دوم اسمی انتخاب نکنید یا همون اسم فایل اول رو انتخاب کنید برنامه خطا می گیره . و لی اگر مسیرها متفاوت باشن و نامی برای فایل دوم انتخاب نکنید همون نام فایل اول به فایل دوم داده می شه. نکته دیگه اینه که نوشتن پسوند فایل اول فراموش نشه.
فرض کنید مسیری رو انتخاب کردید که فایلی با همون نامی که شما برای فایل کپی شده در نظر گرفتید اونجا وجود داره. در حالت پیش فرض برنامه از شما می پرسه که آیا می خواید فایلتون جای این فایل رو بگیره یا نه؟ اما اکه از y/ استفاده کنید دیگه برنامه این سوال رو ازتون نمی پرسه.
عکس بالایی یعنی حتما ازتون می پرسه
برای کپی کردن فایل های ASCII استفاده می شه
برای کپی کردن فایلهای باینری (binary )
پس از پایان عمل کپی ، برنامه چک می کنه تا ببینه فایل به درستی کپی شده باشه یا نه که اگه درست نباشه ارور می ده. استفاده از این کامند باعپ می شه عملیات کپی کردن بیشتر طول بکشه.
مثال:
برای کپی کردن فایل TEST.DOC به درایو B با همون نام می نویسیم:
برای کپی کردن فایل TEST.DOC در همون مسیر با نام TEST2 تایپ می کنیم:
برای کپی کردن و در عین حال یکی کردن دو فایل TEST1.DOC و TEST2.DOC در فایلی با نام TEST3 می نویسیم:
کد:
copy test1.doc+test2.doc b:test3
این توضیح همون علامت + است که در شکل دوم فرمان می بینید.
برای کپی کردن تمام فایلهای موجو در درایو C با پسوند Doc در فایلی به نام ALLDOCS در درایو B تایپ می کنیم:
کد:
copy c:*.doc b:alldocs
حتی می تونید فایلهایی با پسوندهای مختلف رو هم با هم یکی کنید مثلا برای کپی کردن تمام فایلهای با پسوند txt و تمام فایلهای با پسوند Doc به فایلی با پسوند add در درایو B می نویسیم:
کد:
copy *.txt+*.doc b:*.add
توجه کنید که برای فایل مقصد من به جای نام فایل * گذاشتم یعنی برنامه به دنبال فایلی می گرده با پسوند add در درایو B و محتویات اون رو جایگزین می کنه.
-
REN
شکل کلی دستور:
کد:
RENAME (REN) [d:][path]filename filename
عمل: تغییر نام فایل
دیگه توضیح نمی خواد که این دستور نام فایل رو تغییر می ده. اون filename اولی نام اولیه فایل و filename دومی نام جدید فایل هستش.
مثال:
برای تغییر نام فایل SALES.TXT به NEWSALES.TXT که در درایو A قرار داره می نویسیم:
کد:
ren a:sales.txt newsales.txt
از کاراکترهای * و ؟ هم می تونید استفاده کنیم مثلا برای تغییر نام تمام فایلهایی که در درایو B قرار دارن و سه کاراکتر اول اسمشون SAL هست به فایلی که سه کاراکتر اولش SAL باشه اما پسوندش TXT باشه می نویسیم:
کد:
ren b:sal*.* sal*.txt
-
MD
شکل کلی دستور:
عمل: ایجاد یک دایرکتوری جدید
اگه برای دایرکتوری جدیدی که می خواید ایجاد کنید مسیری مشخص نکنید برنامه دایرکتوری جدید رو در دایرکتوری جاری به عنوان ساب دایرکتوری ایجاد می کنه
مثال:
برای ایجاد دایرکتوری LETTERS در دایرکتوری NEWSALES که در درایو A قرار داره تایپ می کنیم:
کد:
md a:\newsales\letters
و اگر در حال حاضر در دایرکتوری NEWSALES هستید برای ایجاد دایرکتوری LETTERS در همین مسیر به سادگی تایپ می کنیم:
-
MOVE
شکل کلی دستور:
کد:
MOVE [/Y|/-Y] [d:][path]filename[,[d:][path]filename[...]] destination
عمل: برای انتقال دادن یک یا تعداد بیشتری فایل از یک مکان به مکان دیگه که البته برای تغییر نام دادن دایرکتوری ها هم می تونید از این دستور استفاده کنید.
خب اولا اون کلمه destination به معنای مقصد هستش یعنی مکان جدیدی که برای فایل یا فایل هاتون در نظر گرفتید. اگه چند فایل رو خواستید با هم منتقل کنید درایو و مسیر و نام فایل رو می نویسید و بعد از گذاشتن کاما ( , ) درایو و مسیر و نام فایل بعدی رو مشخص می کنید و در آخر هم مسیر مقصد رو می نویسید. این مقصد می تونه یه درایو باشه یا یک فایل باشه یا یک دایرکتوری باشه. اگه فقط یک فایل رو منتقل می کنید مقصد می تونه یه فایل باشه که اگه این فایل قیلا وجود داشته باشه محتویاتش با فایل مبدا عوض می شه. اما اگه چند فایل رو منتقل می کنید مقصد باید یه دایرکتوری باشه.
برنامه در حالت پیش فرض ازتون می پرسه مطمئنید می خواید فایل رو منتقل کنید یا محتویات فایل مقصد رو با فایل مبدا عوض کنید یا نه. با این قسمت از دستور دیگه ازتون نمی پرسه
عکس حالت بالا ( این دو تا رو قبلا هم گفتم)
مثال:
برای انتقال دو فایل به نام های LETTER1 و LETTER2 از دایرکتوری جاری به دایرکتوری MEMOS در درایو C می نویسیم:
کد:
move letter1, letter2 c:\memos
برای تغییر نام دایرکتوری 89MEMOS در درایو C به نام 90MEMOS تایپ می کنیم:
کد:
move c:\89memos c:\90memos
-
FIND
شکل کلی دستور:
کد:
FIND [/V][/C][/N] "string" [d:][path]filename[...]
عمل: پیدا کردن یک کلمه خاص در فایل های متنی
خب فرض کنید یه فایل متنی دارید که می خواید یه قسمت خاصی یا یه جمله ای یا یه کلمه ای رو توش پیدا کنید. با این دستور می تونید این کارو بکنید فقط یادتون نره که قبل و بعد از جمله یا کلمه مورد نظرتون حتما ( double quote) رو بذارید.
تمام خطوطی رو که اون کلمه مورد نظر رو ندارن نشون می ده
فقط تعداد دفعات تکرار اون کلمه رو نشون می ده
شماره اون خطوطی که این کلمه یا جمله رو دارن رو هم نشون می ده
مثال:
آها یه چیز دیگه: شما می تونید در یک زمان بین چند فایل دنبال کلمه یا جمله مورد نظرتون بگردید. مثلا برای پیدا کردن جمله and being unknown, is Truth در دو فایل QUOTES1.TXT و QUOTES2.TXT که در درایو B هستن می نویسیم:
کد:
find "and being unknown, is Truth" b:quotes1.txt b:quotes2.txt
که چون اول فایل QUOTES1.TXT رو نوشتم اول نتایج این فایل رو نشون می ده و بعد دومی رو.
-
DELTREE
شکل کلی دستور:
کد:
DELTREE [/Y] [d:]path [d:]path[...]
عمل: پاک کردن یک یا چند دایرکتوری همراه با تمام فایل ها و ساب دایرکتوری های داخل آن.
با این دستور می تونید یک دایرکتوری رو به همراه تمام ساب دایرکتوری و فایل های داخلش پاک کنید ( یادم رفته بود بگم که دستور DEL فقط فایل ها رو پاک می کنه نه دایرکتوری ها رو :arrow: ) البته برای پاک کردن دایرکتوری دستور دیگه ای هم هست که بعدا می گم. دستور DELTREE در ورژن های 6 به بالا هستش مثلا محیط خط فرمان ویندوز خودم اونو نمی شناسه پس ممکنه برای خیلی هاتون خطا بگیره در اینصورت برای پاک کردن دایرکتوری از دستور RD استفاده می کنیم.
حالا اصلا چرا با وجود دستور RD ، دستور DELTREE رو ایجاد کردن؟ چون اگه همین حالا دستور RD رو برای یک دایرکتوری که حاوی فایل یا ساب دایرکتوری هستش اجرا کنید می بینید که برنامه خطا می گیره که The directory is not empty . یعنی با دستور RD فقط می تونید دایرکتوری های خالی رو پاک کنید اما با دستور DELTREE دیگه این مشکل رو ندارید.
در این دستور می تونید همزمان چند دایرکتوری رو با هم پاک کنید. از کاراکترهای * و ؟ هم می تونید استفاده کنید اما مثل همیشه اخطار می کنم مواظب باشید با استفاده از اینا نزنید سیستمتون رو داغون کنید! یادتون باشه اگه دایرکتوری که می خواید پاک کنید حاوی فایل های hidden ، system ، read-only و ... باشه اونها هم پاک می شن پس دقت کنید ( این هزار بار!!)
مثال:
برای پاک کردن دایرکتوری LETTERS که حاوی کلی فایل و دایرکتوری و چی و چی و چیه ! و در درایو C قرار داره می نویسیم:
-
ATTRIB
شکل کلی دستور:
کد:
ATTRIB [d:][path]filename [/S]
ATTRIB [+ R|-R] [+A|-A] [+ H|-H] [+ S|-S] [d:][path]filename [/S]
عمل: مشخص کردن صفات یک فایل یا دایرکتوری از قبیل read-only, archive, system و hidden
خب با این دستور می تونید صفات هر فایل یا فولدری رو که می خواید مشخص کنید. مثلا اینکه فایل مخفی باشه یا فقط خواندنی باشه با هرچیز دیگه. مثلا با دادن صفت read-only به یک فایل، اون فایل قابل دسترسی و باز کردن هست اما قابل اصلاح و تغییر دادن یا پاک کردن نیست.
اگه فایلی رو با +R تبدیل به read-only کردید و بعد خواستید اون رو پاک کنید داس پیغام ACCESS DENIED می ده. قبل از اینکه بخواید فایل رو پاک کنید اول باید با -R اون رو از حالت فقط خواندنی خارج کنید.
از کاراکترهای * و ؟ هم می تونید استفاده کنید اما نمی تونید با تغییر دادن صفات یک دایرکتوری اون تغییرات رو روی تمام فایلها و ساب دایرکتوری های درون اون اعمال کنید.
فایل 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
خب این یعنی اینکه در دایرکتوری LETTERS سه تا فایله که LETTER3.TXT فایل آرشیوه و SALES87.DOC هم آرشیوه و هم فقط خواندنی و سومی هم که پرته هیچ صفتی نداره!
-
XCOPY
شکل کلی دستور:
کد:
XCOPY [d:][path]filename [d:][path][filename] [/A][/D:(date)] [/E][/M][/P]
[/S][/V][/W][Y|-Y]
عمل: کپی کردن دایرکتوری ها، ساب دایرکتوری ها و فایل ها
خب اولین filename مطابق معمول نام فایل مبدا یا همون فایلی که قراره کپی بشه و دومین filename هم نام فایل مقصد یا همون نام فایل کپی شده است. مسیر اول هم مسیر فایل مبدا و مسیر دوم مسیر فایل مقصده و اگه مسیر دوم رو ننویسید فایلهای کپی شده در همون دایرکتوری جاری کپی می شن.
دستور XCOPY برای کپی کردن تمام یه دیسک شامل تمام داده ها و فایل ها و دایرکتوری ها بکار می ره. این دستور بجای دستور DISKCOPY در زمانی استفاده می شه که بخواید اطلاعات رو از یه دیسکی با یه فرمت به دیسک دیگه ای با فرمت متفاوت کپی کنید ( مثلا کپی کردن از دیسک 5 1/4 inch به دیسک 3 1/2 inch ) .
دستور 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 بکار ببرید اگه داس به یه دایرکتوری خالی برسه اون رو کپی می کنه و ازتون اجازه هم نمی گیره!
برنامه مطمئن می شه که فایل های مبدا و مقصد مثل هم باشن و در حین کپی کردن اختلافی بوجود نیومده باشه
دستور کپی کردن زمانی شروع می شه که شما اجازه رو صادر کنید! اگه از این سویچ استفاده نکنید به محض نوشتن دستور و زدن اینتر کار کپی شروع می شه
جابجا کردن فایلهای مقصد با فایلهای هم نامی که ممکنه در محل مقصد وجود داشته باشن بدون اجازه گرفتن از شما
عکس حالت بالا. یعنی درصورت برخورد با فایل هم نام اول از شما می پرسه که replace بکنه یا نه
مثال:
برای کپی کردن تمام فایل ها و دایرکتوری ها ( بجز دایرکتوری های خالی) از درایو C به درایو A تایپ می کنیم:
-
RD
شکل کلی دستور:
عمل: پاک کردن دایرکتوری
با این دستور فقط می تونید یه دایرکتوری خالی رو پاک کنید.برای اینکه بفهمید یه دایرکتوری خالیه یا نه می تونید از دستور DIR استفاده کنید. فرض کنید می خوایم ببینیم آیا دایرکتوری NEWFILES خالیه یا نه پس تایپ می کنیم:
خطوطی که برای یه دایرکتوری خالی ظاهر می شن اینهاست:
کد:
Volume in drive C is DOS1
Directory of C:\NEWFILES
. DIR 4-09-87 8:36p
.. DIR 4-09-87 8:36p
2 File(s) 17671520 bytes free
مثال:
همون بالاییه که گفتم!
-
TYPE
شکل کلی دستور:
کد:
TYPE [d:][path]filename
عمل: نشان دادن محتویات فایل
توضیح نداره دیگه! محتویات فایل رو باهاش می بینید!
مثال:
برای دیدن محتویات فایل LETTER3.TXT که در درایو B قرار داره تایپ می کنیم: