Você sempre pode colocar um arquivo .bat em algum lugar em% PATH%, o que faz o caminho mudar para você.
Estou acostumado a usar
cd ~
para ir direto ao meu diretório pessoal. No prompt de comando do Windows eu tenho que fazer
cd Users\username
para chegar lá. Existe um atalho como o do Linux? Seria bom se eu pudesse chegar lá fazendo
cd username
É algo assim possível no Windows Vista?
Sim, você pode usar %HOMEPATH%
, que é o caminho completo do diretório pessoal do usuário.
Existem algumas outras variáveis úteis disponíveis, como %OS%
(Operating System) ou %WINDIR%
(diretório de sistema do Windows). Consulte wikipedia: valores ambientais para obter uma lista.
Notas :
Na verdade, as coisas são um pouco complicadas (como de costume). %HOMEPATH%
contém apenas o caminho, sem a letra da unidade, portanto, não funcionará para cd
ing de uma unidade diferente. Você também pode usar %USERPROFILE%
, que contém a letra da unidade, e geralmente é o mesmo diretório que %HOMEPATH%
.
Os valores dessas variáveis, e qual é a certa para você, dependerá da versão do Windows e de quaisquer alterações feitas por um administrador, pois seus valores podem ser diferentes (ver, por exemplo, a pergunta Diferença entre o perfil e o caminho de origem ).
Duas outras opções, as quais podem ser adicionadas a um script e executadas automaticamente de maneira semelhante à resposta de BillP3rd.
São mais dois caracteres, mas ...
SET ~=%HOMEPATH%
CD %~%
ou ...
CD %~%\Desktop
Ou ...
doskey ~=cd %homepath%
~
É claro que você não pode usar este ~
nos caminhos, mas como um rápido "pulo para meu diretório home", digitar ~
Enter é muito rápido.
Eu criei um arquivo .cmd em um diretório em meu caminho e o chamei de "cd ~ .cmd". Seu conteúdo é:
@cd %HOMEPATH%
Então eu posso digitar "cd ~" de qualquer lugar para chegar ao meu diretório pessoal. Não é o mesmo que "cd ~" (note o espaço ausente), mas perto o suficiente para mim.
a resposta de sleske é quase exatamente certa, mas nem sempre funciona.
Se o seu diretório home estiver em uma configuração de compartilhamento de rede como uma unidade mapeada, execute o seguinte, independentemente da unidade do diretório atual:
cd /D %HOMEDRIVE%%HOMEPATH%
A opção /D
é necessária para permitir que cd
altere as unidades.
C:\Users\<current user>\
? Não há atalho direto.
Existem algumas soluções diferentes (veja abaixo).
Use uma variável de ambiente junto com cd
ou cd /d
Use subst
ou net use
para criar um mapeamento para outra letra de unidade.
Instale cygwin
e use bash
Use powershell
- o powershell suporta ~
A última solução é provavelmente a mais simples se você estiver preparado para usar powershell
em vez de cmd
.
cd
ou cd /d
Se você quiser mudar para este diretório regularmente, execute o seguinte comando:
setx DOCS %USERPROFILE%
Isso definirá permanentemente a variável de ambiente DOCS
, mas para usá-la você precisa primeiro iniciar um novo cmd
shell, então a variável está definida e pronta para uso:
F:\test>echo %DOCS%
C:\Users\DavidPostill\
Para alterar o diretório de qualquer local, use o seguinte comando:
cd /d %DOCS%
Se você já estiver na unidade c:
, basta usar:
cd %DOCS%
Crie um arquivo de lote ( docs.cmd
) e coloque-o em algum lugar no seu PATH
.
docs.cmd:
@echo off
cd /d %DOCS%
Você pode então digitar docs
, independentemente da sua localização atual, e você será direcionado para C:\Users\<current user>
subst
ou net use
para criar um mapeamento para outra letra de unidade. Você pode usar subst
:
subst x: %USERPROFILE%
E então
x:
Infelizmente, os mapeamentos de unidade não persistem durante as reinicializações.
net use
persistirá nas reinicializações, por exemplo:
net use x: "\computerName\c$\pathName" /persistent:yes
Veja as respostas em Como tornar o mapeamento SUBST persistente nas reinicializações? para instruções detalhadas.
cygwin
e use bash
Você pode considerar a instalação do cygwin :
Cygwin is:
- a large collection of GNU and Open Source tools which provide functionality similar to a Linux distribution on Windows.
Depois de instalar o cygwin, você pode executar bash
em um terminal cygwin e definir a variável de ambiente bash HOME
conforme apropriado.
As alternativas ao cygwin incluem msys (MingW) :
MSYS is a collection of GNU utilities such as bash, make, gawk and grep to allow building of applications and programs which depend on traditionally UNIX tools to be present. It is intended to supplement MinGW and the deficiencies of the cmd shell.
E Git para Windows :
Git for Windows provides a BASH emulation used to run Git from the command line. *NIX users should feel right at home, as the BASH emulation behaves just like the "git" command in LINUX and UNIX environments.
powershell
Como apontado em um comentário sobre outra questão do SBI , o powershell suporta ~
e você pode digitar:
cd ~
Não sei se é um recurso do script de login do nosso trabalho ou um padrão do Windows, mas eu posso usar cd% HOMEPATH% para conseguir isso, onde HOMEPATH é uma variável de ambiente.
Se você quiser que todos os prompts de comando do usuário iniciem em seu diretório "inicial", crie a seguinte chave do Registro como um Valor de seqüência expansível (sem citações, é claro):
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun : "cd /d %USERPROFILE%"
Se você quiser que apenas o seu comando solicite:
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun : "cd /d %USERPROFILE%"
Eu faço uma prática para manter uma pasta c: \ Scripts na qual eu mantenho um arquivo em lote do tipo "autoexec" que eu invoco por meio dessa chave.
Eu percebo que esta é uma questão há muito feita, mas apenas para o registro. Instale clink
, isso estende seu prompt de comando de várias maneiras. Sim, é mais pesado do que as soluções acima, mas faz a janela do cmd se comportar muito melhor.
O Windows realmente se tornou 'Tudo sobre o gui', então, no seu caso, eu acabei de obter as ferramentas que você quer, em vez de tentar 'dobrar' o sistema à sua vontade ... As ferramentas MinGW são uma excelente coleção de algumas das ferramentas de gnu mais usadas ... Eu recomendo que você seja um fã do nix no Win ...