- 06/05/2017
- 4 minutos para ler
-
- j
- s
- m
Ao navegar pelos sistemas de pastas no File Explorer, você normalmente tem um local de trabalho específico – ou seja, a pasta aberta atual. Os itens da pasta atual podem ser manipulados facilmente clicando neles. Para interfaces de linha de comando como Cmd.exe, quando você está na mesma pasta de um determinado arquivo, você pode acessá-lo especificando um nome relativamente curto, ao invés de precisar especificar o caminho inteiro para o arquivo. O diretório atual é chamado diretório de trabalho.
Windows PowerShell usa o substantivo Location para se referir ao diretório de trabalho, e implementa uma família de cmdlets para examinar e manipular a sua localização.
Getting Your Current Location (Get-Location)
Para determinar o caminho da sua localização actual do directório, introduza o comando Get-Location:
PS> Get-LocationPath----C:\Documents and Settings\PowerUser
Nota
O comando Get-Location cmdlet é semelhante ao comando pwd na shell BASH. O comando Set-Location cmdlet é similar ao comando cd em Cmd.exe.
Configurando sua localização atual (Set-Location)
O comando Get-Location é usado com o comando Set-Location. O comando Set-Location permite que você especifique sua localização atual do diretório.
Set-Location -Path C:\Windows
Após você digitar o comando, você notará que não receberá nenhum feedback direto sobre o efeito do comando. A maioria dos comandos do Windows PowerShell que executam uma acção produzem pouca ou nenhuma saída porque a saída nem sempre é útil. Para verificar que uma mudança de directório bem sucedida ocorreu quando introduz o comando Set-Location, inclua o parâmetro -PassThru quando introduz o comando Set-Location:
PS> Set-Location -Path C:\Windows -PassThruPath----C:\WINDOWS
O parâmetro -PassThru pode ser usado com muitos comandos Set no Windows PowerShell para retornar informação sobre o resultado nos casos em que não existe saída por defeito.
Pode especificar caminhos relativos à sua localização actual da mesma forma que o faria na maioria das shells de comandos UNIX e Windows. Na notação padrão para caminhos relativos, um ponto (.)representa sua pasta atual, e um ponto (…) representa o diretório pai da sua localização atual.
Por exemplo, se você está na pasta C:\Windows, um ponto (.)representa C:\Windows e pontos (…) representam C:. Você pode mudar da sua localização atual para a raiz da unidade C: digitando:
PS> Set-Location -Path .. -PassThruPath----C:\
A mesma técnica funciona nas unidades PowerShell do Windows que não são unidades de sistema de arquivos, tais como HKLM:. Você pode definir a sua localização para a chave do software HKLM no registro digitando:
PS> Set-Location -Path HKLM:\SOFTWARE -PassThruPath----HKLM:\SOFTWARE
Você pode então alterar a localização do diretório para o diretório pai, que é a raiz da unidade HKLM: do Windows PowerShell, usando um caminho relativo:
PS> Set-Location -Path .. -PassThruPath----HKLM:\
Você pode digitar Set-Location ou usar qualquer um dos apelidos embutidos do Windows PowerShell para Set-Location (cd, chdir, sl). Por exemplo:
cd -Path C:\Windows
chdir -Path .. -PassThru
sl -Path HKLM:\SOFTWARE -PassThru
Saving and Recalling Recent Locations (Push-Location e Pop-Location)
Quando mudar de local, é útil manter um registo de onde esteve e poder regressar ao seu local anterior. O Push-Location cmdlet no Windows PowerShell cria um histórico ordenado (uma “pilha”) de caminhos de directório onde você esteve, e você pode retroceder através do histórico de caminhos de directório usando o complementar Pop-Location cmdlet.
Por exemplo, o Windows PowerShell normalmente inicia no directório home do utilizador.
PS> Get-LocationPath----C:\Documents and Settings\PowerUser
Nota
A palavra pilha tem um significado especial em muitas definiçõ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 puxar da pilha. Adicionar um item a uma pilha é coloquialmente conhecido como “empurrar” o item para a pilha. Puxar um item da pilha é conhecido coloquialmente como “estourar” o item da pilha.
Para empurrar a localização atual para a pilha, e depois mover para a pasta Configurações Locais, digite:
Push-Location -Path "Local Settings"
Você pode então empurrar a localização das 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 comando Get-Location:
PS> Get-LocationPath----C:\Documents and Settings\PowerUser\Local Settings\Temp
Pode então voltar ao directório mais recentemente visitado introduzindo o comando Pop-Location, e verificar a alteração introduzindo o comando Get-Location:
PS> Pop-LocationPS> Get-LocationPath----C:\Documents and Settings\me\Local Settings
Apenas como com o comando Set-Location cmdlet, pode incluir o parâmetro -PassThru quando introduzir o comando Pop-Location cmdlet para mostrar o directório que introduziu:
PS> Pop-Location -PassThruPath----C:\Documents and Settings\PowerUser
Pode também utilizar o comando Location cmdlets com caminhos de rede. Se tiver um servidor chamado FS01 com uma partilha chamada Public, pode alterar a sua localização digitando
Set-Location \FS01\Public
ou
Push-Location \FS01\Public
Pode usar os comandos Push-Location e Set-Location para alterar a localização para qualquer drive disponível. Por exemplo, se você tiver um drive de CD-ROM local com a letra D do drive que contenha um CD de dados, você pode mudar a localização para o drive de CD digitando o comando Set-Location D: command.
Se o drive estiver vazio, você receberá a seguinte mensagem de erro:
PS> 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 File-Location para examinar os drives físicos disponíveis. Além disso, o File Explorer não lhe mostraria todas as drives do Windows PowerShell. O Windows PowerShell fornece um conjunto de comandos para manipular as drives do Windows PowerShell, e falaremos sobre estes a seguir.