Como colocar caminho alterando o arquivo .bat dentro de% PATH%?

0

Eu tenho um problema descrito aqui (você pode lê-lo para melhor compreensão). Eu preciso escrever o arquivo .bat que mudar caminho.

Por exemplo: Ao enviar um comando no cmd: cd ~ Eu quero ir para% HOMEPATH%. Na verdade - eu só quero substituir ~ por% HOMEPATH% em todos os comandos que incluem diretórios.

Como posso conseguir isso? Eu li aqui que devo colocar o arquivo .bat caminho mudando dentro de% PATH%. Como fazer isso? E como codificar essa função de mudança de caminho na linguagem de script do Windows?

Qualquer conselho seria apreciado ;)

wojciechowskip
fonte

Respostas:

0

Se eu entendi sua pergunta corretamente -

O comando que você quer é "SETX", não SET. "SETX" irá definir uma variável de ambiente de forma generalizada. Como alternativa, você pode definir variáveis ​​de ambiente por meio da GUI usando Painel de Controle> Sistema> Configurações Avançadas do Sistema> Variáveis ​​de Ambiente.

Para o que você quer fazer, você pode usar um comando como:

SETX HP %USERPROFILE%

Então (em futuras janelas de comando, não a atual) a HP será igual à localização de% USERPROFILE%, que geralmente é C: \ USERS \ no Windows 7.

Então, no futuro, você pode usar CD %HP%.

==========

Alternativamente, você pode criar um link simbólico; No entanto, links simbólicos apontarão para um local específico. Por exemplo, você pode usar

MKLINK /D HP C:\USERS\WOJ

e então o comando CD HP irá levá-lo para C: \ USERS \ WOJ

O problema com este método é que você tem que estar no diretório que contém o symlink para se referir a ele.

A restrição que você está executando é como o Windows lida com aliases. Você pode facilmente aliasar comandos no Windows com DOSKEY, mas os locais não podem ter o mesmo alias, embora sejam referenciados com variáveis ​​de ambiente (específicas do sistema e do usuário). E as variáveis ​​de ambiente exigem que você use os sinais% de delimitação para fazer a substituição.

Debra
fonte
Obrigado! Sua solução (o caminho do mklink) está perto o suficiente do que eu preciso.
wojciechowskip
0

Como o outro pôster afirmou "~" é uma coisa * nix. O Windows não tem uma convenção semelhante que eu saiba.

O comando path pode ser definido no prompt de comando usando o comando "set", mas também não acho que seja o que você está procurando. O que isso faz é fornecer ao prompt de comando uma lista de locais a serem verificados quando você executar um comando. digamos que você digite "pkunzip" e veja todos os caminhos especificados em "PATHS" para encontrar o executável. Não é muito usado mais e foi mais uma coisa do DOS.

MAS .... você ainda pode usá-lo como um atalho ...

se você fizer algo como

set somepath=c:\somefolder\somefolder

Então, quando você quiser referenciá-lo, você pode fazer

dir %somepath%

Você pode definir uma lista de todas as variáveis ​​de ambiente "set", digitando "set" no prompt de comando.

Isso ajuda em tudo? Talvez eu não entenda sua pergunta.

MikeAWood
fonte
Oi, obrigado pela sua resposta e descrição clara do uso. No entanto, usando% símbolos não é aceitável no meu caso. O post de Debra contém tudo o que preciso;)
wojciechowskip