Emulando uma estrutura de arquivos e pastas recursiva com MKLink
Note: This works with an already existing root level target folder.
Você pode usar um loop para / d e iterar as subpastas raiz de primeiro nível no diretório de origem e em seguida, use o comando mklink com o parâmetro /D
para
crie links simbólicos do diretório para vincular essas subpastas no diretório-raiz do caminho de destino, criando uma estrutura de diretórios emulada abaixo de cada um, conforme desejado, com arquivos recursivamente referenciados - a pasta de destino do nível raiz já pode existir com este método.
Você pode usar um loop para iterando os arquivos de primeiro nível dentro do diretório de origem e, em seguida, usar o mklink para criar esses links simbólicos diretos na raiz do diretório de destino, e a pasta de destino do nível raiz já pode existir com este método também.
Script em lote
@ECHO ON
SET SrcRoot=Z:\a
SET TargetRoot=Z:\b
FOR /D %%A IN ("%SrcRoot%\*") DO (
MKLINK /D "%TargetRoot%\%%~NA" "%%~A"
)
FOR %%A IN ("%SrcRoot%\*") DO (
MKLINK "%TargetRoot%\%%~NXA" "%%~A"
)
PAUSE
EXIT
Resultados
Mais recursos
- FOR / D
-
Substituições em lote (FOR /?)
In addition, substitution of FOR variable references has been enhanced. You can now use the following optional syntax:
%~nI - expands %I to a file name only %~xI - expands %I to a file extension only
-
mklink /?
Creates a symbolic link. MKLINK [[/D] | [/H] | [/J]] Link Target /D Creates a directory symbolic link. Default is a file symbolic link. /H Creates a hard link instead of a symbolic link. /J Creates a Directory Junction. Link Specifies the new symbolic link name. Target Specifies the path (relative or absolute) that the new link refers to.