天天看點

批處理常用DOS指令——attrib del copy xcopy

作者:魚躍刺桐

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 = 目錄)?

繼續閱讀