參考:參考鏈接
如何cmd命令幫助文檔
在命令后面輸入/?即可查看幫助文檔,注意斜杠前面有個空格。
先來查看copy命令的幫助文檔:copy /?:
C:\Users\lan>copy /?
將一份或多份文件復制到另一個位置。
COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B]
? ? [+ source [/A | /B] [+ ...]] [destination [/A | /B]]
? source? ? ? 指定要復制的文件。
? /A? ? ? ? ? 表示一個 ASCII 文本文件。
? /B? ? ? ? ? 表示一個二進位文件。
? /D? ? ? ? ? 允許解密要創建的目標文件
? destination? 為新文件指定目錄和/或文件名。
? /V? ? ? ? ? 驗證新文件寫入是否正確。
? /N? ? ? ? ? 復制帶有非 8dot3 名稱的文件時,
? ? ? ? ? ? ? 盡可能使用短文件名。
? /Y? ? ? ? ? 不使用確認是否要覆蓋現有目標文件
? ? ? ? ? ? ? 的提示。
? /-Y? ? ? ? ? 使用確認是否要覆蓋現有目標文件
? ? ? ? ? ? ? 的提示。
? /Z? ? ? ? ? 用可重新啟動模式復制已聯網的文件。
/L? ? ? ? ? 如果源是符號鏈接,請將鏈接復制
? ? ? ? ? ? ? 到目標而不是源鏈接指向的實際文件。
命令行開關 /Y 可以在 COPYCMD 環境變量中預先設定。
這可能會被命令行上的 /-Y 替代。除非 COPY
命令是在一個批處理腳本中執行的,默認值應為
在覆蓋時進行提示。
要附加文件,請為目標指定一個文件,為源指定
數個文件(用通配符或 file1+file2+file3 格式)。
可以看到copy命令是用來復制文件的。
實例
如果D盤根目錄下已經存在了一個名為test.txt的文件,那么,復制過去的時候,copy命令就會提示你是覆蓋原文件、是放棄復制還是覆蓋所有文件。如果你在批量復制的時候,一概覆蓋原文件,那么,一個一個地選擇十分麻煩,這個時候,你可以使用不加提示就覆蓋原文件的參數 /y (相當于自動選擇了Yes選項),完整的命令為:copy /y d:\test\test.txt d:\testcopy
如果復制的時候,你還需要把源文件改個名,比如把test.txt改為1.txt的時候,可以直接使用:copy d:\test\test.txt d:\testcopy\1.txt?這樣的命令,也就是說,在指定目的路徑的時候,直接指定文件名,那么,新的文件名就是源文件復制之后的名字。
如果要復制的路徑帶有空格、&等特殊符號的時候,請使用引號把這些特殊字符括起來,比如:copy "d:\test abc\test.txt" "d:\test©"
copy命令除了“復制”文件的功能外,還有一個絕活:合并多個文件為一個文件,具體的格式為:
copy 文件1+文件2+文件3+…… 目的路徑\新文件名?。例如:copy d:\test.txt+d:\abc.txt d:\test\test.txt,那么,就把D盤根目錄下的test.txt和abc.txt兩個文件的內容合并為test.txt,并保存到d:\test目錄下。
必須注意的是,copy只能復制文件,對于文件夾的復制,則需要另請高明,動用xcopy來復制。xcopy是copy的高級版本,有更豐富的參數,能實現更加復雜的功能,通吃文件和文件夾的復制。
還是先查看幫助文檔,xcopy /?:
C:\Users\lan>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] [/B] [/J]
? ? ? ? ? ? ? ? ? ? ? ? ? [/EXCLUDE:file1[+file2][+file3]...]
? source? ? ? 指定要復制的文件。
? destination? 指定新文件的位置和/或名稱。
? /A? ? ? ? ? 僅復制有存檔屬性集的文件,
? ? ? ? ? ? ? 但不更改屬性。
? /M? ? ? ? ? 僅復制有存檔屬性集的文件,
? ? ? ? ? ? ? 并關閉存檔屬性。
? /D:m-d-y? ? 復制在指定日期或指定日期以后更改的文件。
? ? ? ? ? ? ? 如果沒有提供日期,只復制那些
? ? ? ? ? ? ? 源時間比目標時間新的文件。
? /EXCLUDE:file1[+file2][+file3]...
? ? ? ? ? ? ? 指定含有字符串的文件列表。每個字符串
? ? ? ? ? ? ? 在文件中應位于單獨的一行。如果任何
? ? ? ? ? ? ? 字符串與復制文件的絕對路徑的任何部分相符,
? ? ? ? ? ? ? 則排除復制該文件。例如,
? ? ? ? ? ? ? 指定如 \obj\ 或 .obj 的字符串會分別
? ? ? ? ? ? ? 排除目錄 obj 下面的所有文件或帶有
? ? ? ? ? ? ? .obj 擴展名的所有文件。
? /P? ? ? ? ? 創建每個目標文件之前提示你。
? /S? ? ? ? ? 復制目錄和子目錄,不包括空目錄。
? /E? ? ? ? ? 復制目錄和子目錄,包括空目錄。
? ? ? ? ? ? ? 與 /S /E 相同。可以用來修改 /T。
? /V? ? ? ? ? 驗證每個新文件的大小。
? /W? ? ? ? ? 提示你在復制前按鍵。
? /C? ? ? ? ? 即使有錯誤,也繼續復制。
? /I? ? ? ? ? 如果目標不存在,且要復制多個文件,
? ? ? ? ? ? ? 則假定目標必須是目錄。
? /Q? ? ? ? ? 復制時不顯示文件名。
? /F? ? ? ? ? 復制時顯示完整的源文件名和目標文件名。
? /L? ? ? ? ? 顯示要復制的文件。
? /G? ? ? ? ? 允許將加密文件復制到
? ? ? ? ? ? ? 不支持加密的目標。
? /H? ? ? ? ? 也復制隱藏文件和系統文件。
? /R? ? ? ? ? 覆蓋只讀文件。
? /T? ? ? ? ? 創建目錄結構,但不復制文件。不
? ? ? ? ? ? ? 包括空目錄或子目錄。/T /E 包括
? ? ? ? ? ? ? 空目錄和子目錄。
? /U? ? ? ? ? 只復制已經存在于目標中的文件。
? /K? ? ? ? ? 復制屬性。一般的 Xcopy 會重置只讀屬性。
? /N? ? ? ? ? 用生成的短名稱復制。
? /O? ? ? ? ? 復制文件所有權和 ACL 信息。
? /X? ? ? ? ? 復制文件審核設置(隱含 /O)。
? /Y? ? ? ? ? 取消提示以確認要覆蓋
? ? ? ? ? ? ? 現有目標文件。
? /-Y? ? ? ? ? 要提示以確認要覆蓋
? ? ? ? ? ? ? 現有目標文件。
? /Z? ? ? ? ? 在可重新啟動模式下復制網絡文件。
? /B? ? ? ? ? 復制符號鏈接本身與鏈接目標。
? /J? ? ? ? ? 復制時不使用緩沖的 I/O。推薦復制大文件時使用。
開關 /Y 可以預先在 COPYCMD 環境變量中設置。
這可能被命令行上的 /-Y 覆蓋。
在備份的時候,源目錄中有些文件更新過,有些文件沒更新過。我們只需要復制更新過的文件即可,沒必要一股腦復制(覆蓋)。
例如:
xcopy E:\Blog\blog5\source\_posts E:\Blog\blog5MD /e /Y /d
1
就是把E:\Blog\blog5\source\_posts這個下的子目錄樹,復制到E:\Blog\blog5M中,
參數描述:
/e?參數表示,復制E:\Blog\blog5\source\_posts下面的目錄和子目錄,包括空目錄
/y參數表示,如果目標目錄下有同名文件了,不詢問,就直接覆蓋。
/d對應同名文件,只復制那些源文件時間比目標文件時間新的那些文件。這樣可以節省復制的操作。就不會全部一股腦的復制(覆蓋)。
如只是單純地復制一個目錄內的所有文件到另一個目錄中上,就輸入xcopy 源目錄 目的目錄 /s /h,如果復制到一半你發現不對勁,可以按鍵盤熱鍵“Ctrl " +“Pause /break” 二個熱鍵 來中斷復制。
/s 表示復制目錄或子目錄
/h 表示復制隱藏文件,系統文件
例如xcopy E:\Blog\blog5\source\_posts\java* E:\Blog\blog5Test /s /h
如果想把E:\ 盤上所有文件復制到D:\盤上,分為今天復制一點,明天再接著復制一些,后天再接著復制一些。或者是某種原因上次沒有復制完成,今天想接著復制。(這種情況是經常在復制文件中出現的)那可怎么辦才好呢?
那就輸入?xcopy 源目錄 目標目錄 /s /h /d /y就行啦。他能查出那些文件是已經復制過去啦,那些文件還沒有復制過去的。
/s 復制目錄和子目錄,不復制空目錄
/h 復制隱藏文件以及系統文件
/d 這沒有提供時間,所以只復制那些源文件時間比目標文件時間新的那些文件。
/y 直接覆蓋,不詢問。