2010-07-28 09:47:26 +0000 2010-07-28 09:47:26 +0000
110
110

Existe um comando de atalho no prompt de comando do Windows para chegar ao directório home do utilizador actual como existe no Linux?

Estou habituado a usar

cd ~

para entrar directamente no meu directório home. No comando do Windows tenho de fazer

cd Users\username

para lá chegar. Existe um atalho como o do Linux? Seria bom se eu pudesse lá chegar fazendo

cd username

É possível algo assim no Windows Vista?

Respostas (11)

167
167
167
2010-07-28 10:12:08 +0000

Sim, pode usar %HOMEPATH%, que é o caminho completo do directório home do utilizador.

Existem muitas outras variáveis úteis disponíveis, tais como %OS% (Sistema Operativo), ou %WINDIR% (directório de sistema Windows). Ver Wikipedia: Environment Variables para uma lista.


Notas:

Na verdade, as coisas são um pouco complicadas (como de costume). %HOMEPATH% contém apenas o caminho, sem a letra de unidade, pelo que não funcionará para cding a partir de uma unidade diferente. Também pode usar %USERPROFILE%, que does contém a letra de unidade, e é normalmente o mesmo directório que %HOMEPATH%.

Os valores destas variáveis, e qual delas é certa para si, dependerá da versão do Windows e de quaisquer alterações feitas por um administrador, uma vez que os seus valores podem ser diferentes (ver por exemplo a pergunta Diferença entre perfil e caminho de casa ).

23
23
23
2013-01-18 18:26:42 +0000

Duas outras opções ambas podem ser adicionadas a um guião e autoexecutadas de forma semelhante à resposta do BillP3rd.

São mais dois caracteres mas…

SET ~=%HOMEPATH%    
CD %~%

ou…

CD %~%\Desktop

doskey ~=cd %homepath%
~

Claro que não se pode usar este ~ em caminhos mas como um rápido “salto para a minha casa” digitando ~ Enter é bastante rápido.

19
19
19
2010-07-28 10:47:03 +0000

Pode sempre colocar um .bat-File algures na sua %PATH% que faz com que o caminho mude para si.

9
9
9
2013-05-07 18:33:50 +0000

Criei um ficheiro .cmd num directório no meu caminho, e chamei-lhe “cd~.cmd”. O seu conteúdo é:

@cd %HOMEPATH%

Assim posso digitar “cd~” a partir de qualquer lugar para chegar ao meu directório home. Não é o mesmo que “cd ~”. (note-se o espaço em falta) mas suficientemente perto para mim.

7
7
7
2014-07-31 18:39:22 +0000

(https://superuser.com/a/168719/37845) está quase exactamente certo, mas nem sempre funciona.

Se o seu directório home estiver numa configuração de partilha de rede como uma drive mapeada, corra o seguinte independentemente da drive do directório actual:

cd /D %HOMEDRIVE%%HOMEPATH%

O /D switch é necessário para permitir que cd mude de unidades.

5
5
5
2016-03-04 12:16:07 +0000

Existe um atalho para `C:\Users<current user>### Existe um atalho para ?

Não existe um atalho directo.

Há um par de soluções diferentes (ver abaixo).

  1. Use uma variável de ambiente juntamente com cd ou cd /d

  2. Usar subst ou net use para criar um mapeamento para outra letra de unidade.

  3. Instalar cygwin e usar bash

  4. Usar powershell& - powerhell suporta ~

A última solução é provavelmente a mais simples se estiver preparado para usar powershell em vez de cmd.


Solução 1: Use uma variável de ambiente juntamente com cd ou cd /d DOCS

Se quiser mudar para este directório numa base regular, execute o seguinte comando:

setx DOCS %USERPROFILE%

Isto irá definir permanentemente a variável de ambiente cmd, mas para a utilizar é necessário primeiro iniciar uma nova c: shell, depois a variável está definida e pronta a ser utilizada:

F:\test>echo %DOCS%
C:\Users\DavidPostill\

Para mudar de directório a partir de qualquer localização utilize o seguinte comando:

cd /d %DOCS%

Se já estiver na unidade docs.cmd pode simplesmente usar:

cd %DOCS%

Criar um ficheiro de lote (PATH) e colocá-lo algures no seu docs.

docs.cmd:

@echo off
cd /d %DOCS%

Pode então simplesmente digitar C:\Users\<current user> independentemente da sua localização actual e isso levá-lo-á a subst


Solução 2: Use net use ou subst para criar um mapeamento para outra letra de unidade.

Pode usar net use:

subst x: %USERPROFILE%

E depois

x:

Infelizmente, os mapeamentos de unidades não persistem através de reinicializações.

cygwin persistirão através de reinicializações, por exemplo:

net use x: "\computerName\c$\pathName" /persistent:yes

Veja as respostas em Como tornar o mapeamento SUBST persistente através de reinicializações? para instruções detalhadas.


Solução 3: Instalar bash e usar bash

Poderá considerar a instalação de cygwin :

Cygwin é: & > - uma grande colecção de ferramentas GNU e Open Source que fornecem funcionalidades semelhantes a uma distribuição Linux em Windows.

Uma vez instalado o cygwin pode executar HOME num terminal cygwin e definir a variável de ambiente bash powershell conforme apropriado.

As alternativas ao cygwin incluem msys (MingW) :

MSYS é uma colecção de utilitários GNU tais como bash, make, gawk e grep para permitir a construção de aplicações e programas que dependem de ferramentas tradicionalmente UNIX para estar presentes. Destina-se a complementar o MinGW e as deficiências da concha cmd.

E Git for Windows :

Git for Windows fornece uma emulação BASH utilizada para executar Git a partir da linha de comando. *Os utilizadores de BASH devem sentir-se em casa, pois a emulação BASH comporta-se tal como o comando “git” em ambientes LINUX e UNIX.


Solução 4: Use ~

Como assinalado num comentário sobre outra questão por SBI powerhell suporta 0x6& e pode simplesmente digitar:

cd ~

Leitura adicional

  • Um índice A-Z da linha de comando Windows CMD - Uma excelente referência para todas as coisas relacionadas com a linha cmd do Windows.
  • cd - Change Directory - Seleccione uma pasta (e unidade)
  • setx - Definir variáveis de ambiente permanentemente, SETX pode ser usado para definir variáveis de ambiente para a máquina (HKLM) ou actualmente ligado ao utilizador (HKCU).
  • subst - Substituir uma letra de unidade por uma rede ou caminho local.
3
3
3
2010-07-28 10:01:04 +0000

Não sei se é uma característica do nosso script de início de sessão de trabalho ou um Windows por defeito, mas posso usar cd %HOMEPATH% para o conseguir, onde HOMEPATH é uma variável de ambiente.

1
1
1
2010-08-17 00:42:06 +0000

Se quiser que todos os avisos de comando do utilizador comecem no seu directório “home”, crie a seguinte chave de registo como um Valor de String Expansível (sem aspas, claro):

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun : "cd /d %USERPROFILE%"

Se quiser apenas os seus avisos de comando para o fazer:

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun : "cd /d %USERPROFILE%"

Faço uma prática para manter uma pasta c:\i1}do tipo “autoexec” em que guardo um ficheiro de lote do tipo “autoexec” que invoco através desta chave.

1
1
1
2015-02-20 14:22:33 +0000

Compreendo que esta é uma pergunta há muito feita, mas só para que conste. Instale clink , isto prolonga o seu comando de tantas maneiras. Sim, é mais pesado do que as soluções acima mencionadas, mas faz com que a janela cmd se comporte muito melhor.

0
0
0
2018-04-04 20:49:33 +0000

Utilizei um terminal melhor cmder ) para este fim. Foi incorporado em pseudónimos e é muito fácil de usar. Basta ler a documentação sobre pseudónimos aqui .

0
0
0
2012-10-18 08:43:39 +0000

O Windows tornou-se realmente ‘Tudo sobre o engano’ por isso, no seu caso, eu apenas obteria as ferramentas que deseja em vez de tentar ‘dobrar’ o sistema à sua vontade … As ferramentas MinGW são uma excelente pequena colecção de algumas das ferramentas gnu mais utilizadas … Recomendo-lhe vivamente se o seu leque de nix em Win … http://www.mingw.org/wiki/MSYS