Partilhar via


Gerir a localização atual

Ao navegar em sistemas de pastas no Explorador de Arquivos, você geralmente tem um local de trabalho específico - ou seja, a pasta aberta atual. Os itens na pasta atual podem ser manipulados facilmente clicando neles. Para interfaces de linha de comando, como Cmd.exe, quando você estiver na mesma pasta que um arquivo específico, poderá acessá-lo especificando um nome relativamente curto, em vez de precisar especificar todo o caminho para o arquivo. O diretório atual é chamado de diretório de trabalho.

O PowerShell usa o substantivo Location para se referir ao diretório de trabalho e implementa uma família de cmdlets para examinar e manipular seu local.

Obter a sua localização atual (Get-Location)

Para determinar o caminho do local do diretório atual, digite o comando Get-Location:

Get-Location
Path
----
C:\Documents and Settings\PowerUser

Observação

O cmdlet Get-Location é semelhante ao comando pwd no shell BASH. O cmdlet Set-Location é semelhante ao comando cd no Cmd.exe.

Definir a sua localização atual (Set-Location)

O comando Get-Location é usado com o comando Set-Location. O comando Set-Location permite especificar o local do diretório atual.

Set-Location -Path C:\Windows

Depois de inserir o comando, observe que você não recebe nenhum feedback direto sobre o efeito do comando. A maioria dos comandos do PowerShell que executam uma ação produz pouca ou nenhuma saída porque a saída nem sempre é útil. Para verificar se ocorreu uma alteração de diretório bem-sucedida quando você insere o comando Set-Location, inclua o parâmetro PassThru ao inserir o comando Set-Location:

Set-Location -Path C:\Windows -PassThru
Path
----
C:\WINDOWS

O parâmetro PassThru pode ser usado com muitos comandos set no PowerShell para retornar informações sobre o resultado para casos em que não há saída padrão.

Você pode especificar caminhos relativos à sua localização atual da mesma forma que faria na maioria dos shells de comando Unix e Windows. Na notação padrão para caminhos relativos, um ponto (.) representa a sua pasta atual, e dois pontos (..) representam o diretório pai do seu local atual.

Por exemplo, se você estiver na pasta C:\Windows, um ponto (.) representa C:\Windows e períodos duplos (..) representam C:. Você pode alterar do seu local atual para a raiz da unidade C: digitando:

Set-Location -Path .. -PassThru
Path
----
C:\

A mesma técnica funciona em unidades do PowerShell que não são unidades do sistema de arquivos, como HKLM:. Você pode definir sua localização para a chave HKLM\Software no registro digitando:

Set-Location -Path HKLM:\SOFTWARE -PassThru
Path
----
HKLM:\SOFTWARE

Em seguida, você pode alterar o local do diretório para o diretório pai, usando um caminho relativo:

Set-Location -Path .. -PassThru
Path
----
HKLM:\

Você pode digitar Set-Location ou usar qualquer um dos aliases internos do PowerShell para Set-Location (cd, chdir, sl). Por exemplo:

cd -Path C:\Windows
chdir -Path .. -PassThru
sl -Path HKLM:\SOFTWARE -PassThru

Guardar e recuperar localizações recentes (Push-Location e Pop-Location)

Ao mudar de local, é útil manter o controle de onde você esteve e poder retornar ao local anterior. O cmdlet Push-Location no PowerShell cria um histórico ordenado (uma "pilha") de caminhos de diretório onde você esteve, e você pode percorrer o histórico de caminhos de diretório usando o cmdlet Pop-Location.

Por exemplo, o PowerShell normalmente é iniciado no diretório base do usuário.

Get-Location

Path
----
C:\Documents and Settings\PowerUser

Observação

A palavra pilha tem um significado especial em muitas configurações de programação, incluindo .NET Framework. Como uma pilha física de itens, o último item que você coloca na pilha é o primeiro item que você pode retirar da pilha. Adicionar um item a uma pilha é coloquialmente conhecido como "colocar" o item na pilha. Retirar um item da pilha é coloquialmente conhecido como "estourar" o item da pilha.

Para empurrar o local atual para a pilha e, em seguida, mover para a pasta Configurações locais, digite:

Push-Location -Path "Local Settings"

Em seguida, pode colocar a localização Configurações Locais na pilha e mover para a pasta Temp digitando:

Push-Location -Path Temp

Você pode verificar se alterou os diretórios digitando o comando Get-Location:

Get-Location
Path
----
C:\Documents and Settings\PowerUser\Local Settings\Temp

Em seguida, você pode voltar para o diretório visitado mais recentemente digitando o comando Pop-Location e verificar a alteração digitando o comando Get-Location:

Pop-Location
Get-Location
Path
----
C:\Documents and Settings\me\Local Settings

Assim como no cmdlet Set-Location, você pode incluir o parâmetro PassThru ao inserir o cmdlet Pop-Location para exibir o diretório inserido:

Pop-Location -PassThru
Path
----
C:\Documents and Settings\PowerUser

Você também pode usar os cmdlets Location com caminhos de rede. Se você tiver um servidor chamado FS01 com um compartilhamento chamado Público, poderá alterar seu local digitando

Set-Location \\FS01\Public

ou

Push-Location \\FS01\Public

Você pode usar os comandos Push-Location e Set-Location para alterar a localização para qualquer unidade disponível. Por exemplo, se tiver uma unidade local CD-ROM com a letra de unidade D que contém um CD de dados, pode mudar a localização para a unidade de CD introduzindo o comando Set-Location D:.

Se a unidade estiver vazia, receberá a seguinte mensagem de erro:

Set-Location D:
Set-Location : Cannot find path 'D:\' because it does not exist.

Quando você estiver usando uma interface de linha de comando, não é conveniente usar o Explorador de Arquivos para examinar as unidades físicas disponíveis. Além disso, o Explorador de Arquivos não mostraria todas as unidades do PowerShell. O PowerShell fornece um conjunto de comandos para manipular unidades do PowerShell.