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 覆蓋。

例子:html

XCOPY E:\vstsworkspace\source\web\resource C:\home\site\web\ /s /e /h /r /k /y /d /exclude:exclude.txt>tempTips.txt web

上面命令實現:網絡

一、把C:\home\site\web\ 下的文件增量複製到E:\vstsworkspace\source\web\resourceide

二、而且是剔除exclude.txt的。post

三、把複製的文件名都寫到tempTips.txt文件中加密

 

例如:spa

       要將d:\xly下全部文件備份到e:\xly1,可使用以下命令:.net

  xcopy d:\xly\*.*/s/h e:\xly1命令行

  又好比,要恢復e:\xly1下2006年6月1日之後的文件至D:\xly,就可以使用以下命令:日誌

  xcopy e:\xly1\*.*/s/h/d:2006-06-01 d:\xly

出處:http://www.javashuo.com/article/p-mcctbxsi-mq.html

=======================================================================

--註釋:從c:\websites拷貝到c:\copy目錄(注c:\copy\則不會提示是目錄仍是文件)排除c:\Exclude.txt中的
xcopy c:\websites c:\copy\ /s /e /y /EXCLUDE:c:\Exclude.txt
 
--註釋:不包含以.obj 、 .sdf 、 .pdb 、 .rar 、.config 、結尾的文件,也不包含Common.js文件
--c:\Exclude.txt
.obj  
.sdf  
.pdb
.rar
.config
Common.js
@ECHO OFF 
echo '開始拷貝文件夾及文件?按任意鍵繼續'
pause
xcopy c:\websites c:\copy\ /s /e /y /EXCLUDE:c:\Exclude.txt
pause

 

出處:https://blog.csdn.net/smartsmile2012/article/details/78123534

=======================================================================

常見問題:

xcopy在執行的時候,有時老是詢問是文件名仍是目錄名

例如:我須要運行相似
xcopy /y a.xml .\pics\b.xml
不少次,但xcopy老是問我「文件名仍是目錄名」
能夠這樣經過管道來作
echo f | xcopy /y a.xml .\pics\b.xml

 

出處:https://www.cnblogs.com/moonlight-zjb/p/3588150.html

==============================================

我本身寫了項目的備份腳本:

echo off

set sour=D:\_john\LocalSvn\TestSVN\TestProject\
set dest=\\192.168.1.50\Share\Cares-bak20190519\
set para= /e /s /y /h /r /exclude:c:\exclude.txt
set dir=Camera,PVG.Lib,TestCache,TestConfig,TestDesignPattern,TestEntityFramework,TestHook,TestLog4net,TestSqliteAndLog4net,TestThread,TestTypeAndReflection,TestVideo
set xcopyLog=c:\xcopy.log

echo xcopy log > %xcopyLog%

for %%i in (%dir%) do (
echo xcopy %sour%%%i to %dest%%%i
echo xcopy %sour%%%i to %dest%%%i >> %xcopyLog%
xcopy %sour%%%i %dest%%%i\ %para% >> %xcopyLog%
)

set sour=D:\_john\LocalSvn\TestSVN\trunk\
set dir=AutoUpdate,PVG_DownloadFiles,TestIBM.MQ,WarningAlert
for %%i in (%dir%) do (
echo xcopy %sour%%%i to %dest%%%i
echo xcopy %sour%%%i to %dest%%%i >> %xcopyLog%
xcopy %sour%%%i %dest%%%i\ %para% >> %xcopyLog%
)



rem 複製零散的單個目錄或文件
echo 複製零散的單個目錄或文件
echo 複製零散的單個目錄或文件 >> %xcopyLog%
echo d | xcopy "E:\Bat腳本" "%dest%Bat腳本" %para% >> %xcopyLog%
echo f | xcopy "D:\_john\LocalSvn\DownloadProject\OAUS源碼.rar" "%dest%OAUS源碼.rar" %para% >> %xcopyLog%


echo 複製完成,請查看執行的日誌文件:%xcopyLog%
pause
增長雙引號防止路徑中有空格,其中c:\exclude.txt的內容以下:
\packages\
\.vs\
\obj\
\bin\

這裏的代碼很簡單,你應該能看懂,我就不解釋了

==========================================

相關文章
相關標籤/搜索