No Linux, podemos acessar a página inicial do usuário digitando o ~
caractere til ( ) após cd
:
cd ~
Como fazer o mesmo no Windows?
Cada vez, preciso digitar:
cd C:\Document and Settings\freewind
Isso é muito chato.
No Linux, podemos acessar a página inicial do usuário digitando o ~
caractere til ( ) após cd
:
cd ~
Como fazer o mesmo no Windows?
Cada vez, preciso digitar:
cd C:\Document and Settings\freewind
Isso é muito chato.
Respostas:
cd /d "%HOMEDRIVE%%HOMEPATH%"
faria isso - mas não tenho certeza se você considera isso uma melhoria.
Você também pode definir um alias para o comando acima:
doskey cdhome=cd /d "%HOMEDRIVE%%HOMEPATH%"
Depois disso, é simplesmente cdhome
.
~
.
Você pode usar cd /d %USERPROFILE%
se você usar o cmd.
ou você pode usar cd ~
se você usa o PowerShell.
c:\documents and settings\...
, os espaços vão quebrá-lo a menos que ele é citado)
cd
é uma exceção. Como sempre é necessário um único argumento, não é necessário citar. (No Windows, programas e built-ins devem analisar suas linhas de comando, o shell não faz isso.) Sempre citar caminhos é uma boa prática.
cmd.exe
ele próprio e seus malucos /c
.
/c "C:\foo bar\baz" "my file.txt"
ou /c "\"C:\foo bar\baz\" \"my file.txt\""
ou /c ""C:\foo bar\baz" "my file.txt""
? O que é ainda pior é que a análise depende se /s
foi especificado anteriormente, a presença de caracteres especiais, se o executável é nomeado C:\foo bar\baz
ou apenas C:\foo
...
Uma possibilidade é usar o subst
comando em um prompt de comando:
subst z: C:\Document and Settings\freewind
Sempre que você navegar para dirigir Z :, estará olhando para sua pasta de usuário.
A desvantagem é que você precisa executá-lo sempre que efetuar login. Usei um arquivo em lotes e o coloquei na minha pasta de inicialização, mas provavelmente existem soluções mais elegantes para isso.
O benefício é que, diferentemente de um alias doskey, ele funciona universalmente (Windows Explorer, diálogo de navegação etc.), não apenas ao alterar diretórios no prompt de comando. É especialmente útil para programas antigos com caixas de diálogo de navegação antigas com letras de unidade no nível mais alto, em vez de "área de trabalho".
Você pode criar um arquivo em lotes chamado ~.bat
contendo
@echo off
cd /d %USERPROFILE%
E adicione-o à sua variável PATH (Iniciar -> [clique com o botão direito do mouse em "Computador"] -> Propriedades -> "Configurações avançadas do sistema" [na coluna esquerda] -> "Variáveis de ambiente"
A partir daí, basta editar sua variável PATH para incluir a pasta que contém seu ~.bat
arquivo. (Isso permite que você invoque seu script de qualquer lugar usando apenas o nome do arquivo - não o caminho absoluto para o arquivo)
Além disso, verifique se a PATHEXT
variável de ambiente contém .BAT
algum lugar (isso permite digitar em ~
vez de ~.bat
).
Quando você precisar usá-lo, basta entrar ~
no prompt de comando. Essa solução é persistente - você não precisará configurá-la toda vez que iniciar um shell e não precisará invadir seu registro.
Infelizmente, não conheço uma solução perfeita, mas há algumas opções de hacky:
Opção 1: defina ~ como um alias de comando com doskey
doskey ~=cd /d %USERPROFILE%
Isso permitirá que você simplesmente digite ~
e faça chdir para o seu homedir.
C:\>~
C:\Users\a>
Obviamente, isso reduz o número de pressionamentos de teclas para chegar em casa (mesmo em comparação ao Linux), mas é menos robusto, pois você não pode realmente usá-lo como parte de outro caminho ou fazer muito com ele além de apenas gravar em casa.
Opção 2: defina ~ para ser uma variável
Outra opção, se você quiser uma opção mais robusta, é definir uma var:
set ~="%USERPROFILE%"
mas usando isso seria usado como:
E:\>cd /d %~%
C:\Users\a>
Também pode ser injetado na maioria dos caminhos e não o limita a simplesmente entrar em casa.
Ambas as opções simultaneamente
Além disso, você pode implementar os dois métodos simultaneamente. Se você tiver o% 's ao seu redor, utilizará a variável - caso contrário, ela será tratada ~
como um comando.
C:\>:: ECHO (display) THE VALUE OF %~%
C:\>echo %~%
C:\Users\a
C:\>:: ChDir to ~\DESKTOP
C:\>cd /d %~%\Desktop
C:\Users\a\Desktop>:: USE THE ~ COMMAND
C:\Users\a\Desktop>~
C:\Users\a>
Mais uma dica (relacionada):
É menos provável que isso seja aceitável em uma máquina corporativa, pelo menos no seu PC doméstico, para salvar pressionamentos de tecla adicionais; não é uma má idéia tornar seu %USERPROFILE%
diretório um nome simples. Como você pode ver nos meus exemplos acima, meu diretório de usuário é C:\Users\a
- eu sempre tinha 'aplocher' ou 'adamp' e quando mudei para uma única letra, era mágico.
Usando o PowerShell, você pode tentar o seguinte método para navegar nos diretórios de qualquer lugar, desde que você saiba seu nome de usuário e tenha permissões de diretório de arquivos concedidas.
cd \..\Users\yourUserName\Documents
cd \..\Users\yourUserName\Downloads
cd \..\Users\yourUserName\Desktop
cd \..\Users\yourUserName\music
Veja o exemplo abaixo no PowerShell (64 bits). Eu testei isso em uma caixa de 64 bits do Windows 7 Pro.