Faça o conteúdo de duas pastas aparecer em um

2

No Windows 7, tenho três pastas: "Imagens", "ativos" e "tudo".

Eu quero que o conteúdo de "Imagens" e "recursos" apareça em "todos" automaticamente sem copiar esses arquivos para essa pasta (por exemplo, não quero duplicar os arquivos). Eu também só quero o conteúdo a ser copiado e não as pastas themslves (A razão para isso é que, se as pastas são copiadas, eles se tornarão subdiretórios. Estou usando uma pasta de impressão que acessa "all", mas não consigo ver nenhum subdiretório em "todos").

Quando Imagens e Recursos são atualizados (por exemplo, com arquivos sendo adicionados ou excluídos), "todos" também deve ser atualizado automaticamente.

Como posso fazer isso?

Isso é o que eu tentei:

Bibliotecas : este é um recurso integrado ao Windows. Funciona exatamente como eu quero. No entanto, a pasta de impressão não reconhece a biblioteca como uma pasta.

Extensão de link da Sym : Eu posso usar isso para fazer as pastas "imagens" e "ativos" aparecerem como sub-diretórios de "todos". No entanto, quero que o conteúdo de "images" / "assets" apareça na pasta "all" (não quero que os diretórios apareçam como sub-diretórios, porque, como dito, a hot folder de impressão não pode acessar sub-diretórios).

    
por big_smile 10.11.2013 / 16:38

2 respostas

2

Isso não pode ser feito facilmente com as ferramentas disponíveis no Windows.

Bibliotecas não são pastas regulares, mas são pastas virtuais . Não são muitos os aplicativos que podem usar diretamente os objetos do Windows Shell, que não são objetos do sistema de arquivos.

Assim, um script que cria hard links em "all" para todos os arquivos em "Assets" e "Images" parece ser a maneira mais fácil.

cd all
rem Remove all the files in all
del /f /q *.*

rem Create hard links to files from assets and images
for %I in (<full-path-to>\assets\*.*) do mklink /h "%~nxI" "%I"
for %I in (<full-path-to>\images\*.*) do mklink /h "%~nxI" "%I"

Aqui, %~nxI será expandido apenas para o nome e a extensão do arquivo, sem o caminho. Se as pastas estiverem em unidades diferentes, você precisará usar links simbólicos: remova a chave /h do comando mklink .

Execute o script acima toda vez que o conteúdo de "Ativos" e / ou "Imagens" for atualizado ou execute-o periodicamente.

Uma solução melhor seria assistir a atualizações de arquivos em "Recursos" e "Imagens" e sincronizar as alterações para "todas".

    
por 11.11.2013 / 13:39
0

A única maneira de saber com certeza é criar um script que crie links físicos em "Todos" para cada arquivo de "Recursos" e "Imagens".

Mas acho que esse método é um exagero para uma tarefa tão simples.

    
por 10.11.2013 / 18:30