Я хочу исключить удаление определенного файла, продолжая при этом очистку. Конкретный файл находится в подкаталоге, которого нет в исходном коде.
Источник:
folder1\
file1.txt
Место назначения:
folder1\
file1.txt
folder2\
dontdelete.txt
delete.txt
Если я использую:
Robocopy C:\Source C:\Destination /e /purge /xf dontdelete.txt
Затем Robocopy удалит папку 2 \, содержащую этот файл, поэтому, по сути, все еще удаляет файл dontdelete.txt.
Source : C:\Source\
Dest : C:\Destination\
Files : *.*
Exc Files : dontdelete.txt
Options : *.* /V /L /S /E /DCOPY:DA /COPY:DAT /PURGE /R:1000000 /W:30
----------------------------------------------------------------------------
0 C:\Source\
1 C:\Source\folder1\
*EXTRA Dir -1 C:\Destination\folder1\folder2\
*EXTRA File 0 delete.txt
*EXTRA File 0 dontdelete.txt
same 0 file1.txt
Если я использую:
Robocopy C:\Source C:\Destination /e /purge /xd folder2 /xf dontdelete.txt
Тогда Robocopy вообще не будет искать в папке 2 файлы, которые следует очистить.
Source : C:\Source\
Dest : C:\Destination\
Files : *.*
Exc Files : dontdelete.txt
Exc Dirs : folder2
Options : *.* /V /L /S /E /DCOPY:DA /COPY:DAT /PURGE /R:1000000 /W:30
----------------------------------------------------------------------------
0 C:\Source\
1 C:\Source\folder1\
*named dir -1 C:\Destination\folder1\folder2\
same 0 file1.txt
Я также пробовал использовать весь путь, включая файл, без разницы в выводе.