【问题标题】:Robocopy - exclude a lot of directoriesRobocopy - 排除很多目录
【发布时间】:2014-09-12 07:19:30
【问题描述】:

我对 robocopy 有疑问。我想用它来备份系统盘,我想排除一些系统文件夹。但它仍在尝试复制其中一些文件夹。 我的批处理文件是这样的:

robocopy c:\ l:\C\ /r:1 /w:1 /mir /dcopy:T /xjd /xjf /xj /copy:DT /log+: l:\RobocopyLogC.txt /xf "desktop.ini" /xd "$Recycle.Bin" /xd Config.Msi /xd MSOCache/xd Recovery /xd "System Volume Information" /xd Windows /xd "Program Files\Common Files" /xd "Program Files\Internet Explorer" /xd "Program Files\Reference Assemblies" /xd "Program Files\Uninstall Information" /xd "Program Files\Microsoft Analysis Services" /xd "Program Files\Microsoft Mouse and Keyboard Center" /xd "Program Files\Microsoft Office" /xd "Program Files\Microsoft Silverlight" /xd "Program Files\MSBuild" /xd "Program Files\Windows Defender" /xd "Program Files\Windows Journal" /xd "Program Files\Windows Mail" /xd "Program Files\Windows Media Player" /xd "Program Files\Windows Multimedia Platform" /xd "Program Files\Windows NT" /xd "Program Files\Windows Photo Viewer" /xd "Program Files\Windows Portable Devices" /xd "Program Files\Windows Sidebar" /xd "Program Files\WindowsApps" /xd "Program Files\WindowsPowerShell" /xd "Program Files (x86)\Common Files" /xd "Program Files (x86)\InstallShield Installation Information" /xd "Program Files (x86)\Internet Explorer" /xd "Program Files (x86)\Microsoft Analysis Services" /xd "Program Files (x86)\Microsoft Office" /xd "Program Files (x86)\Microsoft Silverlight" /xd "Program Files (x86)\Microsoft.NET" /xd "Program Files (x86)\MSBuild" /xd "Program Files (x86)\Reference Assemblies" /xd "Program Files (x86)\Temp" /xd "Program Files (x86)\Windows Defender" /xd "Program Files (x86)\Windows Mail" /xd "Program Files (x86)\Windows Media Player" /xd "Program Files (x86)\Windows Multimedia Platform" /xd "Program Files (x86)\Windows NT" /xd "Program Files (x86)\Windows Photo Viewer" /xd "Program Files (x86)\Windows Portable Devices" /xd "Program Files (x86)\WindowsPowerShell" /xd "Program Files (x86)\Windows Sidebar" /xd ProgramData\Microsoft /xd "ProgramData\Microsoft Help" /xd "ProgramData\Package Cache" /xd Users\Public /xd Users\Default /xd Users\userName2 /xd Users\userName\AppData\LocalLow\Temp /xd Users\userName\AppData\Local\Temp

我尝试了很多东西,但没有任何帮助。你能帮帮我吗?

【问题讨论】:

    标签: robocopy


    【解决方案1】:

    不要使用多个 /xd! 只需设置第一个 /xd 后面的所有目录

    ... /xd "dir1" "dir2" "dir3" ...
    

    【讨论】:

    • /xd 是否排除子文件夹?
    • @Timo 确实如此。不会复制“dir1”等的子文件夹。
    【解决方案2】:

    /xd 选项似乎不适用于相对路径。尝试使用绝对路径,例如,

    robocopy c:\ l:\C\ /r:1 /w:1 /mir /dcopy:T /xjd /xjf /xj /copy:DT ... 
       /xd "C:\$Recycle.Bin" 
       /xd C:\Config.Msi 
       /xd C:\MSOCache
       /xd C:\Recovery 
       /xd "C:\System Volume Information" 
    

    (为便于阅读而拆分。)

    【讨论】:

    • 我刚刚发现 /xd 根本不适用于路径中的任何“..”。
    • @Sake,这并不奇怪。
    • 如果要拆分成多行,use a ^ at the end of a line.
    【解决方案3】:

    在路径中将双引号(例如“C:\$Recycle.Bin”)替换为单引号('C:\$Recycle.Bin')。这是因为美元字符“$”开始变量并被解释为名为“$Recycle”的变量。

    【讨论】:

      【解决方案4】:

      我的解决方案是创建 .txt 文件,其中包含我想要包含或排除的文件或目录。我在“备份”文件夹下的子文件夹“rcXcludes”中有这些文件。我命名文件的方法如下。我在它们前面加上“rc”(用于 robocopy),然后在 robocopy 命令中为应用程序或文件系统的一部分添加一些可识别的符号,然后附加“B”或“R”(用于备份或还原),然后是“I”或“X”(用于包含或排除),然后是“D”或“F”(用于目录或文件)。我用双引号和条目之间的空格将每个条目括起来。 “包含”文件可以有文件或目录,但目录必须有一个尾随反斜杠。在目录的“排除”文件中,您不使用尾部反斜杠。任何目录条目都相对于 robocopy 命令中的源路径。任何这些 .txt 文件的全部内容都必须在一行中,并且有回车换行。 在我的批处理文件中,我使用 SET /P 命令将 .txt 文件导入到变量中。然后我将这些变量用于 FILES 或 /XF 或 /XD 之后。 例如,要备份当前用户的 Chrome 配置文件而不复制整个“默认”文件夹,我使用以下内容。

      rcChromeBIF.txt  
      "Bookmarks" "Custom Dictionary.txt" "Extension Cookies" "Favicons" "History" "Login Data" "Preferences" "Top Sites" "Visited Links" "Web Data" "Databases\" "Extensions\" "Local Storage\" "Plugin Data\" "User Scripts\" "User StyleSheets\"
      
      rcChromeBXF.txt  
      "Bookmarks.bak" "ChromeDWriteFontCache" "Cookies" "Cookies-journal" "Current Session" "Current Tabs" "Extension Cookies-journal" "Favicons-journal" "Google Profile.ico" "History Provider Cache" "History-journal" "Last Session" "Last Tabs" "Login Data-journal" "Network Action Predictor" "Network Action Predictor-journal" "Network Persistent State" "Origin Bound Certs" "Origin Bound Certs-journal" "QuotaManager" "QuotaManager-journal" "README" "Secure Preferences" "Shortcuts" "Shortcuts-journal" "Top Sites-journal" "TransportSecurity" "Web Data-journal"
      
      rcChromeBXD.txt  
      "Application Cache" "Cache" "data_reduction_proxy_leveldb" "Extension State" "File System" "GPUCache" "IndexedDB" "JumpListIcons" "JumpListIconsOld" "Local Extension Settings" "Media Cache" "Pepper Data" "Platform Notifications" "Service Worker" "Session Storage" "Storage" "Thumbnails" "Web Applications"
      

      在 bat 文件中,例如 C:\Backup。

      REM ChromeBak.bat
      SET chromeprofdir=Google\Chrome\User Data\Default
      SET /P rcChrmBIF=<C:\Backup\rcXcludes\rcChromeBIF.txt
      SET /P rcChrmBXF=<C:\Backup\rcXcludes\rcChromeBXF.txt
      SET /P rcChrmBXD=<C:\Backup\rcXcludes\rcChromeBXD.txt
      robocopy "%LOCALAPPDATA%\%chromeprofdir%" "H:\ChromeBackup\%chromeprofdir%" %rcChrmBIF% /E /ZB /COPY:DAT /DCOPY:T /MT:4 /XJ /XF %rcChrmBXF% /XD %rcChrmBXD% /R:10 /W:2 /TBD /NP /V /TS /Log+:"H:\ChromeBackup\ChromeBackup.log"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-12
        • 2019-04-04
        相关资源
        最近更新 更多