No Windows, a alteração de diretórios é uma parte fundamental da gestão de arquivos, mas você se contentaria em escrever os caminhos completos de cada diretório que você visita? Felizmente, os comandos de mudança de diretório do PowerShell podem facilitar sua vida.
Neste tutorial, você irá explorar os comandos disponíveis para alterar diretórios no PowerShell, ajudando você a navegar pelo seu sistema de arquivos sem esforço.
Continue lendo e domine os conceitos básicos da navegação no sistema de arquivos com o PowerShell hoje!
Pré-requisitos
Este tutorial será uma demonstração prática. Para acompanhar, certifique-se de ter um sistema Windows com o PowerShell instalado. Este tutorial utiliza o Windows 10 e PowerShell v7.
Mudando de um Drive para Outro
Cada dispositivo de armazenamento, como um disco rígido ou pen drive USB, é atribuído a uma letra de unidade (ou seja, C:, D:, E:, … Z:). Quando você abre uma janela do PowerShell, o prompt está no diretório do seu perfil de usuário no drive atual por padrão.
Suponha que você precise de acesso frequente a arquivos ou pastas armazenados em um drive diferente daquele em que você está atualmente. Se for o caso, é necessário alternar de um drive para outro.
Para ver como alternar de um drive para outro:
1. Abra o PowerShell e confirme se o prompt exibe C:\Users\admin. Se sim, você está atualmente no drive C: no diretório do perfil do usuário admin, como mostrado abaixo.

2. Em seguida, abra outra sessão do PowerShell, mas desta vez, como administrador.
Aqui, o prompt inicia em um diretório padrão diferente do que ao iniciar o PowerShell como um usuário comum. Especificamente, o prompt inicia no diretório System32 dentro do diretório Windows no drive atual (C:), como mostrado abaixo.
Esse comportamento padrão evita que usuários não administrativos modifiquem acidentalmente arquivos críticos do sistema ou executem ferramentas sensíveis.

3. Execute o comando abaixo para mudar o drive atual para D:
(ou para qualquer drive disponível). Esta sintaxe é uma maneira rápida de navegar entre diferentes drives no PowerShell.
Ao mudar de drives no PowerShell com este método, o prompt muda para o diretório raiz do novo drive, como mostrado na saída abaixo.
Como pode ser visto, independentemente do diretório padrão de início do PowerShell, você sempre pode alternar para outro drive.

4. Agora, execute o comando abaixo para tentar mudar para o diretório D:\Kitty
(ou para qualquer outro subdiretório).
Você recebeu o mesmo erro abaixo? Esse erro ocorre porque você não pode alternar para subdiretórios (por exemplo, D:\Kitty) de uma só vez por este método.
Pule para a próxima seção para ver como alternar para subdiretórios.

Navegando no Sistema de Arquivos via Comando cd
Navegar por vários subdiretórios é uma tarefa comum no PowerShell. Mas há uma maneira rápida de navegar por diferentes subdiretórios? Sim! O comando cd
, abreviação de “change directory”, permite que você alterne rapidamente para outro subdiretório, independentemente do diretório atual.
No passado, o comando
cd
era usado para navegar entre unidades e diretórios no Prompt de Comando. A Microsoft tornou o comandocd
retrocompatível para que você ainda possa navegar entre diretórios no PowerShell.
Continue lendo e veja como navegar pelo seu sistema de arquivos com o comando cd
.
Movendo para um Diretório em uma Unidade Diferente
Ir para um subdiretório em uma unidade diferente pode parecer complicado se você pensar sobre isso. Bem, não há necessidade de pensar demais. Você ficará surpreso com a rapidez com que o comando cd
permite que você vá para outra unidade enquanto entra em um de seus diretórios.
Execute o comando abaixo para navegar até o subdiretório chamado Kitty
na unidade D:*
.

Movendo de um para Muitos Níveis Acima na Hierarquia de Diretórios
Com o gerenciamento do sistema de arquivos, ou ao trabalhar em um projeto, você pode precisar frequentemente subir um ou dois níveis a partir do seu diretório atual. O comando cd suporta a notação ..
, que permite alternar efetivamente para o diretório pai do seu diretório atual.
Essa funcionalidade permite que você suba um nível no seu sistema de arquivos sem especificar o caminho completo para o diretório pai.
1. Execute o comando cd
abaixo, acrescente um espaço e a notação ..
, o que diz ao PowerShell para subir um nível na hierarquia de diretórios.
O caractere de espaço após o comando
cd
não é necessário, pois o comando funcionará bem sem ele. No entanto, adicionar um espaço é uma prática comum para melhor legibilidade e consistência com outros comandos.
No resultado abaixo, você pode ver que o prompt sobe um nível a partir do C:\Users\admin\Documents para o diretório C:\Users\admin. Note que você não precisou especificar o caminho completo para o C:\Users\admin diretório para subir.

2. Em vez de subir um nível, execute o seguinte comando com duas notações ..
, acrescentando uma barra invertida (\
) no final de cada uma. Isso permite que você suba dois níveis na hierarquia de diretórios.
Abaixo, o resultado mostra que você pulou do C:\Users\admin\Documents diretamente para o diretório C:\Users.

3. Por fim, execute o comando abaixo para ir para o diretório raiz da sua unidade atual.
Se você se perdeu no seu sistema de arquivos, este comando é útil, pois você pode pular rapidamente para o diretório raiz. Este comando poupa o trabalho de executar o comando cd ..
várias vezes.

Movendo-se para um Subdiretório Específico
Assim como subir um nível na hierarquia de diretórios, mover-se para um subdiretório específico também é uma tarefa rápida. Como pode haver muitos subdiretórios, anexar notações como as anteriores (..
e ..\
) não funcionará, você deve especificar o nome do subdiretório.
Execute o comando abaixo para entrar em um dos subdiretórios (\admin
) no seu diretório atual (.
).
Observe abaixo que você economizou tempo e esforço, já que não precisou especificar o caminho completo do C:\Users\admin diretório.

Navegando no Sistema de Arquivos com Cmdlets do PowerShell
Embora o comando cd
certamente funcione no PowerShell, a Microsoft introduziu muitos cmdlets, como o Set-Location
, que permitem navegar pelo seu sistema de arquivos.
Esses cmdlets fornecem funcionalidades mais robustas do que o comando cd
, que você pode usar para alternar entre unidades, navegar por locais empilhados e percorrer diretórios no histórico de localização.
Fique ligado e veja como os poderosos cmdlets do PowerShell são na navegação pelo seu sistema de arquivos.
Definindo um Local de um Drive Diferente
Assim como o comando cd
, o cmdlet Set-Location
permite que você salte de um diretório para outro e navegue diretamente para um de seus diretórios. Mas como você está usando um cmdlet do PowerShell, você deve anexar o parâmetro -Path
para definir o caminho do seu local de destino.
O cmdlet Set-Location
define o diretório de trabalho atual para um local especificado. Esse local especificado pode ser um dos seguintes:
- A directory, or subdirectory on the local file system.
- Qualquer outro local suportado por um provedor no PowerShell.
- Ou um local de registro.
Para ver como o cmdlet Set-Location
funciona na navegação do seu sistema de arquivos:
Execute o comando abaixo para navegar até o diretório Kitty
no seu disco D:
especificado no parâmetro -Path
.

Se você estiver um pouco preguiçoso para digitar o cmdlet completo
Set-Location
, também pode usar um dos seus aliases, comochdir
esl
, para navegar no seu sistema de arquivos. Aliases fornecem uma maneira mais conveniente de acessar comandos frequentemente utilizados.
Agora, execute o comando abaixo para definir o local de trabalho para um local de registro específico. Neste caso, o caminho HKLM:\
(uma abreviação) refere-se ao HKEY_LOCAL_MACHINE hive no seu Registro do Windows.
Este comando define a localização de trabalho como a raiz do hive HKEY_LOCAL_MACHINE no registro. Navegar para um registro permite que você acesse e modifique suas subchaves e valores por meio de outros comandos do PowerShell.

Alternando Entre Localizações Empilhadas (Push e Pop)
Acessar rapidamente localizações empilhadas parece conveniente. Mas é possível? Sim! Os cmdlets Push-Location
e Pop-Location
permitem que você empurre e remova localizações em uma ordem de último a entrar, primeiro a sair (LIFO) de uma pilha nomeada.
Para navegar entre localizações empilhadas, siga estas etapas:
1. Execute o comando Push-Location
abaixo para empurrar sua localização atual para uma pilha chamada Paths
e definir o diretório C:\Program Files\PowerShell\
como o diretório atual.

2. Em seguida, execute o comando abaixo para empurrar sua localização atual (C:\Program Files\PowerShell\) para o topo da mesma pilha Paths
.

3. Execute cada comando abaixo para definir Paths
como a pilha padrão e visualizar (Get-Location
) as localizações empilhadas.
Abaixo, você pode ver que atualmente tem duas localizações empilhadas, onde a última localização que você empurrou está no topo.

4. Agora, execute o seguinte comando Pop-Location
duas vezes para desempilhar a localização superior da pilha padrão, que atualmente é a pilha de Caminhos.

Observe que desempilhar a localização da pilha remove a localização da pilha. O erro abaixo indica que você desempilhou todas as localizações empilhadas da pilha padrão.

Navegando para um Diretório Armazenado em uma Variável
Você passou por diferentes maneiras de navegar em diretórios no seu sistema de arquivos. Mas e se você precisar navegar para uma localização específica com frequência? Digitar caminhos completos várias vezes ou percorrer o histórico de localizações pode ser tedioso. Por que não armazenar o caminho completo de um diretório em uma variável?
Com uma variável declarada, você pode navegar até o diretório desejado sem especificar o caminho de cabeça.
1. Execute os comandos abaixo para armazenar o diretório C:\Program Files\PowerShell\
na variável $psh
, e defina essa localização ($psh
) como o diretório atual.
A saída abaixo confirma a alteração de diretório bem-sucedida usando uma variável. Independentemente do seu diretório atual, você pode navegar rapidamente até o diretório C:\Program Files\PowerShell\ através da variável $psh
.
Mas observe que este método só funciona para a sessão atual do PowerShell, a menos que você persista a variável, conforme demonstrado na etapa seguinte.

2. Em seguida, execute os comandos abaixo, que não fornecem saída, mas persistem a variável ev_psh
como uma variável de ambiente (SetEnvironmentVariable
) com o valor do caminho completo do diretório.
3. Por fim, execute o comando abaixo para definir o valor da variável de ambiente ev_psh
como o diretório atual. Certifique-se de estar em um diretório diferente daquele em sua variável ev_psh
.

Ciclismo Através de Diretórios no Histórico de Localização do PowerShell
Outra maneira rápida de percorrer diretórios no PowerShell é usando o histórico de localização. O parâmetro -Path
diz ao cmdlet Set-Location
para navegar para outro diretório no histórico de localização (anterior e seguinte), dependendo do valor especificado (-
ou +
).
Para percorrer diretórios no histórico de localização do PowerShell:
Execute os seguintes comandos para definir os locais do histórico como o diretório atual. O caractere +
avança no histórico de localizações, enquanto o caractere -
retrocede.

Conclusão
A navegação no sistema de arquivos pode ser complicada quando suas opções são limitadas. Mas com os comandos de mudança de diretório do PowerShell, como Set-Location
, você tem muitas opções. Como você deseja navegar pelo seu sistema de arquivos de forma mais eficiente é totalmente com você.
Além disso, dominar o uso de Push-Location
e Pop-Location
para salvar e recuperar locais recentes é uma habilidade valiosa.
Estas técnicas permitem que você se mova rapidamente e sem problemas através de diretórios e locais no PowerShell. Mas para melhorar ainda mais, por que não considerar aprender sobre comandos adicionais, como Get-ChildItem
, que pode economizar bastante tempo em suas tarefas diárias?
Source:
https://adamtheautomator.com/powershell-change-directory/