Назад | Перейти на главную страницу

Robocopy - исключить определенный файл из очистки в подкаталоге

Я хочу исключить удаление определенного файла, продолжая при этом очистку. Конкретный файл находится в подкаталоге, которого нет в исходном коде.

Источник:

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

Я также пробовал использовать весь путь, включая файл, без разницы в выводе.