CASO DE USO

CASO DE USO

Win10, embora eu espere que se aplique igualmente a partir do 7up.

se eu fizer eco, %USERPROFILE%ele retornará uma letra de unidade C:\~ Correto.

No entanto, minhas pastas Documentos, Imagens, Música, etc. estão na H:unidade. De alguma forma, o Win10 "sabe" disso, porque redireciona para fora da C:unidade.

No passado, eu costumava %USERPROFILE%fazer referência a arquivos ao longo da árvore de pastas (por exemplo, em atalhos), mas agora que tenho um sistema de unidade dividida, não sei como fazer referência ao redirecionamento.

Alguma ideia?

Responder1

Abra uma janela do PowerShell e execute:

[Enum]::GetNames([Environment+SpecialFolder]) | ? {$_ -like "My*" } | % { $_ + ": " + [Environment]::GetFolderPath($_)}

se retornar algo como:

MyDocuments: H:\...
MyMusic: H:\...
MyVideos: H:\...
MyComputer: 
MyPictures: H:\...

então alguém alterou a localização dessas pastas, você pode alterá-las novamente abrindo as propriedades dessas pastas no Explorador de Arquivos e clicando na Locationguia.

Para usar a localização correta MyDocumentsem um atalho, você pode usar:

explorer.exe shell:::{A8CDFF1C-4878-43be-B5FD-F8091C1C60D0}\folder1\folder2

isso abrirá H:\documents\folder1\folder2 no File Explorer.

Todas as pastas especiais possuem um GUID exclusivo, uma boa lista está emTenForums

Não acho que você possa usar esses GUIDs diretamente no cmd.exe, mas no PowerShell você pode fazer:

cd $([Environment]::GetFolderPath('MyMusic'))

Responder2

Resolvi meu problema usando SETXpara criar duas novas variáveis ​​de ambiente: myUSERPROFILEe myHOMEDRIVE. Eles são usados ​​em atalhos que apontam para meus dados baseados em nuvem no OneDrive, Dropbox, GoogleDrive, etc.

CASO DE USO

O objetivo é abstrair os atalhos da máquina local para a generalidade de todas as máquinas nas quais trabalho.

Especificamente, eu tenho um SurfacePro 4, um desktop, um laptop (dedicado ao media center por meio de seu amplificador) e os laptops que os clientes me dão para trabalhar de vez em quando.
Cada um deles tem diferentesNomes de USUÁRIOeunidades domésticasdeterminado pelo lote da rede do cliente.
Nos meus desktops tenho 4 atalhos apontando para pastas na nuvem ~Imagens recebidas;Leitura;Referência rápida;Documentos recebidos. Os atalhos assumem a forma

"%myUSERPROFILE%\Documents\Dropbox (Work)\Incoming docs"

Qualquer atalho em que eu clicar, independentemente do computador em que estou, abre a pasta baseada na nuvem.
Soltar um arquivo na pasta de atalho o envia para o lugar certo.
Algumas das pastas possuem atalhos que apontam para os arquivos ou pastas em meus repositórios de dados.
A pasta Referência Rápida, por exemplo, possui atalhos para tudo, desde horários e horários até dados técnicos e protocolos de Clientes.
Todos eles permanecem permanentemente em seus vários repositórios de dados - existem mais de 3.500 PDFs apenas em minhas bibliotecas de tecnologia. (Eu também uso calibre para gerar metadados).

PROCESSO

crie as variáveis

Quando consigo trabalhar em uma nova máquina, este arquivo em lote é executado no modo Admin:

:: setEnvVariables.bat
:: Step 1, set variables
echo Enter the home drive, default is %HOMEDRIVE%
SET /P localHOMEDRIVE=%HOMEDRIVE%
echo Enter the User prefix, default is %USERPROFILE%
SET /P localUSERPROFILE=%USERPROFILE%
SETX myHOMEDRIVE localHOMEDRIVE
SETX myUSERPROFILE localUSERPROFILE

echo: Step 2. check that they work
echo: =====: flip drives, land on home data drive
C:
echo: =====: directory of folders in root C:\ drive
DIR /b /ad
PAUSE
%myHOMEDRIVE%
cd\
echo: =====: directory of folders in root data drive
DIR /b /ad
PAUSE
cd %myUSERPROFILE%\Documents
echo: =====: directory of folders in Documents folder
DIR /b /ad
PAUSE
echo: ====: directory of folders in Dropbox folder
cd %myUSERPROFILE%\Documents\Dropbox (Personal)
DIR /b /ad
PAUSE
:: ...etc all the other cloud based repositories. 

Um atalho típico na pasta Reading seria

"%OneDrive%\My Digital Editions\~ Knowledge\Consultancy\Business\Big Data_CDI_MDM\Path-to-Predictive-Analytics-and-Machine-Learning.pdf"

Ou posso simplesmente colocar o arquivo na pasta conforme explicado acima e arquivá-lo no repositório apropriado (caminho da pasta) se achar que vale a pena mantê-lo.
Quando devolvo as máquinas clientes, excluo as duas variáveis ​​de ambiente. . . claro!

crie as pastas de atalho

Eu mantenho uma pasta na nuvem com o arquivo em lote acima e domino os atalhos para esses atalhos de pasta.

Eles são simplesmente arrastados para a área de trabalho e soltos lá.

Como são apenas atalhos, penso neles como "pastas virtuais" ou "áreas de trabalho virtuais". Nenhum dado fica mais na área de trabalho. Se eu precisar de uma pasta especial (por exemplo, para um projeto de cliente), simplesmente crio um atalho para a pasta na nuvem e as variáveis ​​de ambiente assumem o controle a partir daí.

Agora estou pronto para usar o novo computador.

informação relacionada