請問批次檔指令 xcopy 可以指定 只備份路徑下某些副檔名嗎?
如果可以又該如何撰寫呢?
我想你自己研究會比較快吧,給你一個釣竿!
C:\Users\>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]
[/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 d:\tkmo\te* d:\tkmo_copy <- 將目錄D:\tkmo底下以 te開頭的檔案及資料夾全部複製到 D:\tkmo_copy資料夾底下
這就最簡單的指定方式
樓主要指定附檔名
那就將 te* 改為 *.txt 這種形式就可以了
xcopy 詳細點的指令可以用 xcopy /? 去看再去測試
只是為何不用 robocopy?
他的檔案同步功能比 xcopy 強,效率也更好
我現在公司做同步備份的 BAT 都被我從 xcopy 改為 robocopy 了, 是有實際數據可以比較的
假如OS比較舊(如Windows Server 2003),也可以直接去下載他的單一執行檔
將牠放到跟 BAT 同一個資料夾就行, 這樣BAT不用了也可以一起刪掉而不會留下垃圾
例如我通常使用的 robocopy BAT 如下, 給您做參考
robocopy C:\Inet\ \\10.0.0.20\for_Web\C_Inet\ /xo /e /MIR /COPYALL /R:2 /W:5 /TEE /LOG+:D:\backup_bat\log\Web_F020\Inet%date:~0,4%%date:~5,2%%date:~8,2%.txt