использовать robocopy для зеркалирования подмножества каталогов - PullRequest
0 голосов
/ 20 апреля 2019

Сценарий ниже, основанный на robocopy, отражает поддеревья, указанные в файле selection.txt из источника s в пункт назначения d.Но когда я удаляю строку из selection.txt, соответствующее поддерево не удаляется из места назначения.Любые предложения, как добиться этого эффективным способом?

selectivemirror.bat

set s=Z:\AUDIO
set d=F:\tmp_musicselect
for /f "tokens=1 delims=:" %%a in (selection.txt) do call :processline "%%a"
pause
goto :eof

:processline
REM this construct handles folder names containing ampersand (&)
set x=%1
set s1="%s%\%x:~1,-1%"
set d1="%d%\%x:~1,-1%"
robocopy %s1% %d1% /mir /ndl /nfl /nc /ns 

:eof

структура входного каталога

J.J. Cale & Eric Clapton\
    The Road To Escondido\
        01.mp3
        02.mp3
Bach\
    BWV 193\
        17.mp3
    BWV 61\
        15.mp3
        ...
Dire Straits\
    01-Telegraph Road.mp3

selection.txt file

J.J. Cale & Eric Clapton
Bach\BWV 61

структура выходного каталога

J.J. Cale & Eric Clapton\
    The Road To Escondido\
        01.mp3
        02.mp3
Bach\
    BWV 61\
        15.mp3

Когда я удаляю J.J. Cale & Eric Clapton из selection.txt и повторно запускаю selectivemirror.bat, каталог J.J. Cale & Eric Clapton не исчезнет из пункта назначения, как это должно быть.

...