Share 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ê está na mesma pasta que um arquivo específico, pode 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 Get-Location comando:

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

Nota

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

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

O Get-Location comando é usado com o Set-Location comando. O Set-Location comando permite que você especifique seu local de 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 Set-Location comando, inclua o parâmetro PassThru ao inserir o Set-Location comando:

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 ao seu local atual da mesma forma que faria na maioria dos shells de comando do UNIX e do Windows. Na notação padrão para caminhos relativos, um ponto (.) representa sua pasta atual e um ponto dobrado (..) representa o diretório pai de seu local atual.

Por exemplo, se você estiver na C:\Windows pasta, um ponto (.) representa C:\Windows e períodos duplos (..) representam C:. Você pode alterar do seu local atual para a raiz da C: unidade 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 seu local para a HKLM\Software chave 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 Push-Location cmdlet 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 Pop-Location cmdlet.

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

Get-Location

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

Nota

A palavra pilha tem um significado especial em muitas configurações de programação, incluindo o .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 "empurrar" o item para a 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, você pode empurrar o local Configurações locais para a pilha e mover para a pasta Temp digitando:

Push-Location -Path Temp

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

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 Pop-Location comando e verificar a alteração digitando o Get-Location comando:

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

Assim como no Set-Location cmdlet, você pode incluir o parâmetro PassThru ao inserir o Pop-Location cmdlet 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 Push-Location comandos e Set-Location para alterar o local para qualquer unidade disponível. Por exemplo, se tiver uma unidade de CD-ROM local com letra de unidade D que contenha um CD de dados, pode alterar a localização para a unidade de CD introduzindo o Set-Location D: comando.

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.