Usando caminhos relativos para atalhos do Windows

41

Eu tenho um esquema de pastas como (versão altamente simplificada):

New Files
 >Tools
 >Scripts
Tested Files
 >Tools
 >Scripts

... e gostaria de ter um atalho em cada pasta das pastas filhas "Novos Arquivos" para a pasta filha "Arquivos Testados". Mas essa pasta pode ser movida de tempos em tempos, o que quebraria esses atalhos.

Existe uma maneira de criar um atalho relativo para cada pasta? Lembro-me de fazer isso em HTML, onde você poderia definir um caminho, algo como .../Files para voltar para um pai e depois para uma nova pasta, mas não tenho certeza se isso é algo de suporte nos atalhos do Windows?

PS: o caso de atalhos relativos semelhantes, quando o destino é um arquivo, é tratado em link . No presente caso, o alvo é uma pasta.

    
por Gary Morris 12.09.2013 / 16:49

7 respostas

42

Você pode usar este utilitário: Relativo .

Basicamente cria um atalho para "explorer.exe" com o parâmetro do seu caminho relativo com um clique direito (da mesma maneira que você cria um atalho normal).

Claro que você pode fazer isso manualmente.
No seu exemplo, você criaria um atalho em "Novos Arquivos \ Ferramentas" para

%windir%\explorer.exe "..\..\Tested Files\Tools"

Você pode usar o menu de contexto usual "Novo / Criar atalho" do Windows para isso e digitar o comando acima na caixa "Digite a localização do item".

    
por 12.09.2013 / 17:08
22

Uma possível solução é usar um arquivo de lote de uma linha em vez de um atalho para abrir o que você deseja abrir. O arquivo de lote permitirá que você use caminhos relativos dentro de si mesmo e terá um diretório de trabalho de qualquer pasta em que o arquivo de lote é colocado.

Outra opção é ter seu atalho iniciando cmd.exe com o que você está lançando, então passe o que você está lançando como um argumento para cmd.exe

%COMSPEC%éumavariáveldeambientequeaponta para o prompt de comando por padrão .

/C faz com que o console se feche depois de executar o comando.

    
por 12.09.2013 / 17:45
6

Estou usando uma solução semelhante em um modelo que executa o meu ambiente de desenvolvimento web (abra o diretório do projeto, abra o navegador, execute o WAMP, execute o SCSS ...)

Eu posso passar argumentos para o meu script de morcego e etc., isso é legal. Certifique-se de colocar o argumento /c após cmd.exe

    
por 12.05.2014 / 03:21
4

Esse truque funciona:

% COMSPEC% / C start "nome do seu exe sem caminho"

exemplo

% COMSPEC% / C start winmine.exe

    
por 18.08.2016 / 18:47
2

Você pode usar o mklink . Ele permite que você crie links simbólicos, links físicos e links de diretórios.

 mklink /d Tools "..\Tested Files\Tools"  (elevated command prompt)

Se não houver acesso elevado, você pode usar / j

 mklink /j Tools "..\Tested Files\Tools"

Para percorrer toda a estrutura, você deve usar o comando xcopy . Por exemplo, se toda a estrutura estiver em contêiner :

container
   New Files
      <SYMLINKD> Scripts [..\Tested Files\Scripts]
      <SYMLINKD> Tools  [ ..\Tested Files\Tools]
   Tested Files    
      Scripts
      Tools

inserindo o comando

 copy /b /e container container2

criará a seguinte estrutura:

container2
   New Files
      <SYMLINKD> Scripts [..\Tested Files\Scripts]
      <SYMLINKD> Tools  [ ..\Tested Files\Tools]
   Tested Files    
      Scripts
      Tools

A opção / b copia os links simbólicos em vez de convertê-los em pastas.

    
por 30.08.2016 / 10:19
1

Um atalho pode registrar sua localização em uma variável e chamar um comando usando a variável. Por exemplo, crie o atalho "Grandparent" com target:

%windir%\system32\cmd.exe /c set HERE="%CD%" && "C:\Here.bat"

Crie o arquivo em lote "C: \ Here.bat" com a única linha:

@%windir%\explorer.exe /n,/select, %HERE%

Agora, seja qual for a pasta em que o Grandparent esteja, quando você clica nele, o pai de sua pasta pai é aberto. Ele até funciona com o Grandparent em um diretório raiz.

Seu arquivo de lote poderia ter usado% AQUI% ao iniciar algo diferente de explorer.exe. Ou, em vez de Here.bat depois do & & no alvo do atalho, você poderia chamar um programa que faz uso de% AQUI%.

No meu sistema, o Grandparent parece funcionar com & ou & &.

    
por 26.09.2015 / 04:33
1

Se você deixar a caixa 'Start In' vazia nas propriedades do atalho, os links serão relativos ao diretório de trabalho atual.

Veja também link

    
por 01.01.2016 / 09:42