批處理入門手冊之批處理常用DOS命令篇(attrib、del、copy、xcopy)_DOS/BAT

來源:互聯網
上載者:User

1.2 學習attrib  del  copy  xcopy命令

學習要點:
1。設定檔案屬性:attrib
2。刪除命令:del
3。複製檔案:copy
4。複製檔案(夾):xcopy

一、設定檔案屬性:attrib

顯示或變更檔屬性。
ATTRIB [ R | -R] [ A | -A ] [ S | -S] [ H | -H] [[drive:] [path] filename] [/S [/D]]

     設定屬性。
  -    清除屬性。
  R   唯讀檔案屬性。
  A   封存檔案屬性。
  S   系統檔案屬性。
  H   隱藏檔案屬性。
  [drive:][path][filename]   指定要處理的檔案屬性。
  /S  處理當前檔案夾及其子檔案夾中的匹配檔案。
  /D  也處理檔案夾。


1。查看檔案的檔案屬性
格式:ATTRIB [drive:][path][filename]

例1,
attrib d:\ pagefile.sys
查看d:\ pagefile.sys檔案的屬性。

2。修改檔案的屬性。
格式:attrib ?屬性

例1,
attrib –h d:\ pagefile.sys
消除d:\ pagefile.sys的“隱藏”屬性。

例2,
attrib s h d:\ pagefile.sys
給d:\ pagefile.sys設定“系統”和“隱藏”屬性。

3。批量檔案處理

例1,
attrib h d:\123\*.bat /s
通過/s參數可批量將d:\123及其子目錄下的所有bat檔案設定為“隱藏”屬性.

例2,
attrib h d:\123 /s /d
將d:\123及其下所有同名為123的子目錄設定為“隱藏”屬性.參數/d必須在大量設定檔案屬性的同時,對指定目錄及
其下所有子目錄進行檔案屬性操作。參數/d可以理解為“directory”(目錄),也就是說/d 必需和/s一起使用。


思考:

 “attrib h d:\123 /s /d”和“attrib h d:\123\*.* /s /d”有什麼區別呢?
前者只有d:\123以及它同名的子目錄設為了“隱藏”,而其它檔案及子目錄都沒有設定“隱藏”。
後者則將d:\123下的所有檔案及子目錄設定了“隱藏”屬性,但d:\123目錄沒有設定“隱藏”屬性。

二、刪除命令:del

刪除一個或數個檔案。
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names

  names         指定一個或數個檔案或目錄列表。萬用字元可被用來
                刪除多個檔案。如果指定了一個目錄,目錄中的所
                有檔案都會被刪除。

  /P            刪除每一個檔案之前提示確認。
  /F            強制移除唯讀檔案。
  /S            從所有子目錄刪除指定檔案。
  /Q            安靜模式。刪除全域萬用字元時,不要求確認。
  /A            根據屬性選擇要刪除的檔案。
  attributes      R  唯讀檔案                     S  系統檔案
                  H  隱藏檔案                     A  封存檔案
                  -  表示“否”的首碼

基本格式:DEL [drive:][path][filename]

例1,
del d:\123\abc.txt
刪除abc.txt


/P 刪除每一個檔案之前提示確認。

例2,
del /p d:\123\*.*
刪除d:\123目錄下所有檔案,如果你想讓它在刪除前都詢問你是否刪除,我們可以加上/p參數,防止誤刪除。


/S 從所有子目錄刪除指定檔案。

例3,
del /s d:\123\*.*
刪除d:\123目錄及其子目錄下所有檔案。
通過使用/s參數後,del命令就會在指定目錄(如未指定則在目前的目錄)及其子目錄中搜尋所有指定檔案名稱的檔案並刪
除。


/Q 安靜模式。刪除全域萬用字元時,不要求確認。

例4,
del /s /q d:\123\*.*
刪除d:\123目錄及其子目錄下所有檔案。
通過/q參數則無需確認直接刪除,在使用此參數時要小心!!


/A 根據屬性選擇要刪除的檔案。

例5,
del /ar /s d:\123\*.*
刪除d:\123目錄及其子目錄下所有唯讀屬性的檔案。
這裡我們通過/a:attributes 參數對指定屬性的檔案選擇刪除。檔案屬性attributes,可選的有r(唯讀)、s(系統)
、h(隱藏)、a(存檔)。 


三、複製檔案:copy

Copy只能複製檔案,不能複製檔案夾。

1。單個檔案的複製

格式:copy source[drive:][path][filename]  [destination [drive:][path][filename]]
即copy 要複製的源檔案(包括路徑和檔案名稱)  檔案複製的目標路徑[\檔案名稱],當[destination [drive:][path]
[filename]]預設時則為目前的目錄。

例1,
copy c:\123.txt d:\
把123.txt複製到d:\目錄下。如果此操作成功,命令列視窗中會提示“已複製 1個檔案”。

例2,
copy c:\123.txt d:\abc.bat
把123.txt複製到d:\目錄下,並把它修改為abc.bat,這裡修改了檔案名稱和它的格式。

例3,
copy .\123
把目前的目錄下的123子目錄中的檔案全部拷到目前的目錄。這裡好像有點難理解,呵呵,解釋一下:比如目前的目錄是
c:\windows,它有很多子目錄的,現在就把它的一個子目錄123裡面的檔案全都拷到目前的目錄c:\windows,這樣應該明
白了吧!~

2。批量複製檔案

例1,
copy c:\123 d:\abc
將c:\123 目錄中所有檔案複製到d:\abc目錄中.

例2,
copy c:\123\*.rm d:\abc /y
將c:\123 目錄中所有rm格式的檔案複製到d:\abc目錄中,當目標目錄中已經存在了和來源目錄中即將複製的檔案相同文
件名的檔案時,就會出現如“改寫x:\xx嗎?(Yes/No/All):”這樣的提示,讓你選擇是覆蓋、不覆蓋還是全部覆蓋,
通過參數/y(複製單個檔案或批量複製時皆可使用),可以實現重名檔案無須確認直接覆蓋。

3。合并檔案
格式:copy /b 檔案1+檔案2+……檔案N 合并後的檔案名稱

例1,
copy /b d:\1.mp3 d:\2.mp3 e:\3.mp3
把1.mp3和2.mp3合并成3.mp3。

例2,
copy /b d:\1.txt d:\2.mp3
把1.txt和2.mp3合并,這裡沒有指定合成後的檔案名稱哦,預設情況下,合并後的檔案名稱是命令中的第一個檔案的名。
在這裡,即把2.mp3合并進了1.txt。


★在尾部隱藏了文本資料的圖片檔案,在使用其他軟體進行編輯並儲存後,隱藏的文本資料有可能會丟失。
★MP3檔案在使用此方法串連後,能實現連續播放。
★合并圖片/歌曲這樣的二進位檔案必須使用/b參數(b代表Binary,二進位),否則合并將會失敗;另一個合并參是/a
(a代表ASCII,文字檔),只能用於純文字的合并。兩參數不能同時使用,二進位方式可以合并文本和二進位檔案,
而文本方式則只能合并文本。

四、複製檔案(夾):xcopy

複製檔案和分類樹。
XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
                           [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
                           [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]
                           [/EXCLUDE:file1[ file2][ file3]...]

 Source
 必需的。指定要複製的檔案的位置和名稱。該參數必須包含磁碟機或路徑。
 Destination
 可省略。指定要複製的檔案的目標。該參數可以包含磁碟機盤符和冒號、目錄名、檔案名稱或者它們的組合。
如果省略 Destination,xcopy 命令將檔案複製到目前的目錄。


xcopy可使用的參數太多了,這裡只選幾個常用的來講一下。

/S 複製非空的目錄和子目錄。如果省略 /s,xcopy 將在一個目錄中工作。

例1,
xcopy /s d:\123 e:\kkk\
複製d:\123目錄下所有檔案(夾)到e:\kkk,不包括空的子目錄。(預設情況下,xcopy 不複製隱藏或系統檔案)


/E 複製所有子目錄,包括空目錄。同時使用 /e、/s 和 /t 命令列選項。

例2,
xcopy /e d:\123 e:\kkk\
複製d:\123目錄下所有檔案(夾)到e:\kkk,包括空的子目錄。(預設情況下,xcopy 不複製隱藏或系統檔案)


/H 複製具有隱藏和系統檔案屬性的檔案。預設情況下xcopy 不複製隱藏或系統檔案。

例3,
xcopy /e /h d:\123 e:\kkk\
複製d:\123目錄下所有檔案(夾)到e:\kkk,包括空的子目錄。加上了/h參數後,xcopy 複製隱藏或系統的檔案


/T 只複製子目錄結構(即分類樹),不複製檔案。要複製空目錄,必須包含 /e 選項。


/Y 禁止提示您確認要覆蓋現存的目標檔案。
當目標目錄中已經存在了和來源目錄中即將複製的檔案相同檔案名稱的時候,就會出現“改寫 X:\XXX  (Yes/No/All)?”
這樣的提示,讓你選擇是覆蓋、不覆蓋還是全部覆蓋時,通過參數/y,可以實現重名檔案無須確認直接覆蓋。


★注意指定 Destination 是檔案還是目錄。
如果 Destination 不包含現有目錄且不以反斜線 (\) 結尾,會出現下列訊息:

 Does destination specify a file name
 or directory name on the target
 (F = file, D = directory)?

系統將會詢問你
目標 X:\XXX 是檔案名稱還是目錄名
(F = 檔案,D = 目錄)?
 如果要將一個或多個檔案複製到一個檔案,請按 F。如果要將一個或多個檔案複製到一個目錄,請按 D。


思考:

比較一下xcopy /e d:\123 e:\kkk\  和 xcopy /e d:\123 e:\kkk 兩者之間有什麼不同?
兩者都是複製d:\123目錄下所有檔案(夾)到e:\kkk,包括空的子目錄,但前者不會詢問你
目標e:\kkk 是檔案名稱還是目錄名
(F = 檔案,D = 目錄)?

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.