天天看點

bat 批處理拷貝檔案

     最近在部署伺服器的時候,需要用到把一個站點檔案拷貝到其他站點。一個一個手動copy太累人了,寫了個簡單的批處理檔案,基本能達到目的,具體怎麼做呢:

1、把需要拷貝到各個站點的檔案,單獨放到一個目錄下。比如E:\WebSite\orig\

2、使用dos的xcopy指令,把源檔案orig拷貝到各個目的檔案,腳本如下:

xcopy E:\WebSite\orig\*.* D:\WebSite\Site1\ /S /F /R /Y /E

xcopy E:\WebSite\orig\*.* D:\WebSite\Site2\ /S /F /R /Y /E

xcopy E:\WebSite\orig\*.* D:\WebSite\Site3\ /S /F /R /Y /E

3、把上面的代碼儲存為copy.bat 即可。每次釋出的時候,把需要複制的檔案先釋出到E:\WebSite\orig\目錄下,然後輕按兩下運作該copy.bat批處理檔案。

xcopy的詳細用法,可以在cmd視窗,通過輸入help xcop 來檢視。我的機器上,顯示用法如下:

C:\Documents and Settings\administrator>help 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 改寫。