Estou tentando automatizar o diretório do nosso projeto e achei que configurar aliases poderia ajudar muito. Eles precisam ser acessíveis de qualquer lugar e, idealmente, da barra de endereços do Windows File Explorer. Vejo que alguns apenas digitando nomes de alguns diretórios comuns como "desktop" ou "arquivos de programas" não precisam de alguns formatos especiais "shell:Desktop" ou "%Desktop%", o que ajuda muito. Mas como isso é configurado? Essas pastas são codificadas para serem acessíveis dessa maneira? É o Windows Index, algum env var especial?
E o mais importante, pode ser alterado de "userspace"?
Do Group Policies have such a "feature"? Puppet/Ansible/Chef...?
EDIT: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders does NOT work. I think they only take "shell:xxx" format
I think there are two categories of folders that can be accessed by simply typing their name in the Address bar. A few System folders seem to be hard-coded:
When either of these folder names are typed in the Address bar, the corresponding file system location opens:
Mas quando você digita "Desktop", não é
This PC > Deskop
ou (dois caminhos diferentes de namespace que fazem referência à mesma pasta do sistema de arquivos) que é aberto, mas sim o Virtual Desktop , que é a raiz do Shell Namespace . É um agregado de dois locais do sistema de arquivos:This PC > Windows (C:) > Users >
UserName
> Desktop
shell:ThisPCDesktopFolder
shell:Common Desktop
e duas chaves de registro:
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace
onde são adicionadas junções para locais de sistema de arquivos ( OneDrive ,
shell:UsersFilesFolder
), bem como pastas virtuais como Rede , Painel de Controle e Bibliotecas . A maneira mais fácil de visualizar todas as subpastas da área de trabalho é a DropList exibida quando você clica no controle de navegação mais à esquerda na barra de endereços:Qualquer nome encontrado nesta lista pode ser digitado na barra de endereços sem nenhuma sintaxe especial. Assim, qualquer pasta localizada em qualquer uma das duas pastas " Desktop " ganha essa funcionalidade. Com todos esses valores, não há nada misterioso --- como subpastas de nível superior, o nome da pasta também é o caminho do namespace totalmente qualificado.
Além das subpastas imediatas da área de trabalho , parece que essa funcionalidade também é concedida aos locais encontrados em Este PC : Pastas de usuário , Dispositivos e unidades e Locais de rede podem ser acessados diretamente digitando o nome do contêiner no Endereço bar. Embora seja possível adicionar pastas que aparecem ao lado das pastas de usuário padrão, é um pouco trabalhoso, exigindo a criação de um GUID e várias chaves de registro para cada pasta que você cria. A funcionalidade Local de rede é muito mais fácil. Embora a opção Adicionar local de redeassistente irá recusar se você tentar entrar em um caminho local, você pode ignorar o assistente. Qualquer item (pasta, arquivo, atalho) presente na pasta acessada
shell:NetHood
aparecerá no grupo Localizações de Rede :Como Keith Miller explicou, não há como adicionar aliases além de alguns locais existentes.
EDIT: Isso pode ser alcançado, criando atalhos em um desses locais codificados, no entanto.
EDIT2: Pense nisso criando uma pasta "Atalhos" em um "caminho" evn var e, em seguida, soltando links não é muito diferente do conselho de Keith ... com uma pequena diferença de que é uma pasta separada (mais limpa).
Mas o que funcionou para mim é o WinKey + X solicitando a caixa de diálogo "Executar" e digitar nomes das variáveis ambientais "PATH" funciona. Eu esperaria que isso também estivesse disponível na barra de endereços do Explorer, mas ainda assim não é muito mais complicado dessa maneira.
É extensível e acho que poderei salvar diferentes valores de "Caminho" em arquivos de texto (ainda preciso pensar em como exatamente fazer isso) e carregá-los dependendo de um projeto.