Моим решением для этого было создание файлов .txt, которые содержат файлы или каталоги, которые я хочу включить или исключить. У меня есть эти файлы в подпапке "rcXcludes" в моей папке "Backup". Мой метод именования файлов заключается в следующем. Я предисхожу к ним с помощью "rc" (для robocopy), затем в команде robocopy добавляются некоторые распознаваемые обозначения для приложения или части файловой системы, затем добавляются "B" или "R" (для резервного копирования или восстановления), затем "I" или "X" (для включения или исключения), затем "D" или "F" (для каталога или файла). Я окружаю каждую запись двойными кавычками и пробелом между записями.
Файл "Включить" может иметь файлы или каталоги, но каталоги должны иметь обратную косую черту. В файле "Исключить" для каталогов вы не используете обратную косую черту. Любые записи каталога относятся к исходному пути в команде robocopy. Все содержимое любого из этих файлов .txt должно находиться в одной строке и не иметь карриге в виде обратной строки.
В моем пакетном файле я использую команду SET /P для импорта файла .txt в переменную. Затем я использую эти переменные для файлов или после /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"