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.