about_Locations
Descrição breve
Descreve como acessar itens do local de trabalho no PowerShell.
Descrição longa
O local de trabalho atual é o local padrão para o qual os comandos apontam. Em outras palavras, esse é o local que o PowerShell usa se você não fornecer um caminho explícito para o item ou local afetado pelo comando.
Observação
O PowerShell dá suporte a vários runspaces por processo. Cada runspace tem seu próprio diretório atual. Isso não é o mesmo que o diretório atual do processo do PowerShell: [System.Environment]::CurrentDirectory
.
Por exemplo, você pode definir seu local de trabalho atual para o seguinte local:
Set-Location C:\Program Files\PowerShell
Como resultado, todos os comandos são processados desse local, a menos que outro caminho seja fornecido explicitamente.
O PowerShell mantém o local de trabalho atual para cada unidade, mesmo quando a unidade não é a unidade atual. Isso permite que você acesse itens do local de trabalho atual referindo-se apenas à unidade de outro local.
Por exemplo, suponha que seu local de trabalho atual seja C:\Windows
. Agora, suponha que você use o seguinte comando para alterar o local de trabalho atual para a HKLM:
unidade:
Set-Location HKLM:
Embora sua localização atual seja agora a unidade do Registro, você ainda pode acessar itens no C:\Windows
diretório usando a C:
unidade, conforme mostrado no exemplo a seguir:
Get-ChildItem C:
O PowerShell lembra que o local de trabalho atual dessa unidade é o Windows
diretório, portanto, ele recupera itens desse diretório. Os resultados seriam os mesmos se você tivesse executado o seguinte comando:
Get-ChildItem C:\Windows
No PowerShell, você pode usar o Get-Location
comando para determinar o local de trabalho atual e pode usar o Set-Location
comando para definir o local de trabalho atual. Por exemplo, o seguinte comando define o local de trabalho atual para o Windows
diretório da C:
unidade:
Set-Location C:\Windows
Depois de definir o local de trabalho atual, você ainda poderá acessar itens de outras unidades incluindo o nome da unidade (seguido por dois-pontos) no comando, conforme mostrado no exemplo a seguir:
Get-ChildItem HKLM:\software
O comando de exemplo recupera uma lista de itens no contêiner software do HKEY_LOCAL_MACHINE
hive no registro.
O PowerShell também permite que você use caracteres especiais para representar o local de trabalho atual e sua localização pai. Para representar o local de trabalho atual, use um único período. Para representar o pai do local de trabalho atual, use dois períodos. Por exemplo, o seguinte especifica o System
subdiretório no local de trabalho atual:
Get-ChildItem .\System
Se o local de trabalho atual for C:\Windows
, esse comando retornará uma lista de todos os itens em C:\Windows\System
. No entanto, se você usar dois períodos, o diretório pai do diretório de trabalho atual será usado, conforme mostrado no exemplo a seguir:
Get-ChildItem ..\"Program Files"
Nesse caso, o PowerShell trata os dois períodos como a unidade C: para que o comando recupere todos os itens no C:\Program Files
diretório.
Um caminho que começa com uma barra invertida (\
) identifica um caminho da raiz da unidade atual. Por exemplo, se o local de trabalho atual for C:\Program Files\PowerShell
, a raiz da unidade será C:\
. Portanto, o seguinte comando lista todos os itens no C:\Windows
diretório:
Get-ChildItem \Windows
Se você não especificar um caminho começando com um nome de unidade, barra invertida (\
) ou ponto (.
) ao fornecer o nome de um contêiner ou item, o contêiner ou item deverá estar localizado no local de trabalho atual. Por exemplo, se o local de trabalho atual for C:\Windows
, o seguinte comando retornará todos os itens no C:\Windows\System
diretório:
Get-ChildItem System
Se você especificar um nome de arquivo em vez de um nome de diretório, o PowerShell retornará detalhes sobre esse arquivo (supondo que o arquivo esteja localizado no local de trabalho atual).