關於xcopy的exclude參數的使用

今天配置一個批處理命令的時候需要用到xcopy的exclude,也就是需要排除一些文件不需要拷貝。於是

在命令行中輸入:xcopy /? 可以查看xcopy 的幫助。主要用法如下所示:

C:/Documents and Settings/Administrator>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  指定新文件的位置和/ 或名稱。

  /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           複製文件審覈設置( 隱含 /O)

               現存目標文件。

  /-Y          導致提示以確認改寫一個

               現存目標文件。

  /Z            用重新啓動模式複製網絡文件。

 

命令行開關 /Y 可以預先在 COPYCMD 環境變量中設置。

這可能被命令行上的 /-Y 改寫。

 

在使用的過程中,想要排除某些文件不拷貝。注意到xcopy 的命令幫助裏面,有一個exclude 參數。該參數的功能就是排除不必要的文件被拷貝。根據說明,使用的方法應該是

在“/EXCLUDE: ”後面直接輸入字符串進行匹配。例如:

xcopy c:/temp/*.* d:/temp/*.* /EXCLUDE:cs 排除所有包含mid 字符的文件或者目錄。

實際使用中發現,這樣根本上就沒法實現。返回信息如下:

------------------

無法讀取文件: cs

複製了 0 個文件

------------------

 

實際上,這個參數應該是一個文件。根據上面的提示也可以發現,它要去讀取文件名爲 cs 的文件。所以,建立一個文本文件,把所想要排除的文件對應的字符串,一一加上去。用回車來分割。比如:

------------------

        .*.cs
        .csproj
        .vspscc
        .config
        /obj/
        /Properties/

------------------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章