Идея этого вопроса проста, но я новичок в пакетных сценариях, поэтому нюансы делают это невозможным для меня. Мне нужно создать набор символических ссылок для репликации содержимого нескольких исходных каталогов, которые совместно используют общий родительский каталог, в целевой каталог. Пример:Создание символических ссылок с измененным путем в пакетном скрипте?
SrcDirParent
SrcDirA
FileA
SrcDirB
FileB
SubDir
FileC
Какие используя символические ссылки должны создать:
DstDir
FileA ~
FileB ~
SubDir
FileC ~
Использование ~ показать символическую ссылку. SrcDirParent и DstDir считаются абсолютными путями из внешнего файла. Я не знаю, какие файлы/папки будут в SrcDirParent, и некоторые из соответствующих каталогов могут уже существовать в DstDir, а другие нет. Если они существуют, мне нужно объединить символические ссылки с существующим контентом.
Барьер, который я сейчас нажимаю, связан с файловыми файлами. Я планировал использовать два для петель, как это:
for /d %%M in (%SRC%\*) do (
for /r %%F in (%SRC%\%%M\*) do (
mklink %DST%\%%F %SRC%\%%M\%%F
)
)
Но это требует относительных путей файлов для %% M и %% F, и эти переменные заполняются с абсолютными путями. Я не знаю, как это исправить.
Другая проблема, которую я ожидаю, заключается в том, что SRC и DST имеют конфликтующие файловые пути - я не хочу переписывать существующие пути с символическими ссылками.
Надеюсь, это было правильное место, чтобы опубликовать это. Заранее спасибо.
Я не понимаю дерево Dst, SubDirA + B отсутствует? – LotPings
Предполагалось, что SrcDir будет родителем всех исходных каталогов. Я отредактировал, чтобы сделать пример более понятным. – user258887
Итак, вы хотите полностью исключить первый уровень субдира, но сохранить SubSubdirs? – LotPings