批處理(複製文件夾與文件)命令
用到的一個批處理:
xcopy "C:\Users\portal-admin\Desktop\SystemWithin\index_h1_002_HSCN.jpg" "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\IMAGES\"
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 導致提示以確認改寫一個
現存目標文件。
例如:複製D:\遊戲QQ到E:\遊戲裏 而且全部文件夾包括子文件夾的話,命令如下:
echo off
xcopy D:\遊戲\QQ E:\遊戲\ /e
exit
使用xcopy命令拷貝文件夾的時候總是出現下面的提示:
目標 E:\遊戲\ 是文件名
還是目錄名
(F = 文件,D = 目錄)?
解決方法,在複製的路徑加 \ 這樣就可以了!
記得是複製路徑,不是被複制路徑啊!
用XCOPY皮處理複製文件夾而不復制子文件夾,意思就是把相對應格式複製到一個文件夾下,比如要複製C:\1所有的DLL文件到D\2,而1\文件夾又有很多子文件夾,複製過程中不復制其子文件夾,只複製對應的DLL文件
xcopy 不能只複製文件而不復制文件夾
下面代碼可以實現
for /f "tokens=*" %%i in ('dir /b /s C:\*.dll') do (
copy "%%~i" "D:\2\%%~nxi"
)