Existe uma maneira de alterar o local padrão do PowerShell?
Como você define o diretório de trabalho padrão do PowerShell?
Existe uma maneira de alterar o local padrão do PowerShell?
Como você define o diretório de trabalho padrão do PowerShell?
Respostas:
Você pode especificar o diretório a ser aberto ao iniciar o PowerShell:
powershell.exe -NoExit -command "& {Set-Location $env:systemroot}"
Basta usá-lo em seu atalho.
Ou use um perfil para definir um diretório inicial.
pwsh.exe -WorkingDirectory C:\YourLocation\Goes\Here
Crie um perfil do PowerShell da seguinte maneira.
Execute o PowerShell como administrador e execute o seguinte comando:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Isso permitirá que o PowerShell execute scripts locais e scripts baixados da Internet que foram assinados. Leia mais sobre este comando na documentação .
Em sua Documentspasta, encontre uma pasta chamada WindowsPowerShellPowerShell clássico ouPowerShell PowerShell Core mais recente. Se não existir, tudo bem; apenas crie.
profile.ps1na WindowsPowerShellpasta (ouPowerShell para PowerShell Core).Abra profile.ps1e adicione o seguinte comando para definir seu diretório de trabalho padrão:
Set-Location C:\my\default\working\directoryAbra uma nova janela do PowerShell ... as alterações devem ter entrado em vigor.
powershell -File "myscript.ps1"
powershel -NoProfile -File "myscript.ps1"
Eu tentei as respostas acima no Windows Server 2016 sem sucesso.
Mas descobri que essa abordagem (deve ser a mesma para o Windows 10) funcionando para mim.
Feito!
Na mesma caixa de diálogo Propriedades, você também pode alterar muitas outras configurações, como fontes, cores, tamanhos e na guia Atalho através do botão Advanced. Você pode selecionar se a sessão do PowerShell deve ser executada com privilégios de administrador.
Run as administratorno .lnkmenu avançado. A solução parece estar aqui stackoverflow.com/questions/31622469/…
Run as aministratorcaixa de seleção para frente e para trás.
Uma maneira mais fácil de definir o diretório padrão é a seguinte:
Clique com o botão direito do mouse no ícone do Windows PowerShell em Iniciar e, novamente, clique com o botão direito do mouse em Windows PowerShell e selecione Propriedades (não Executar como Administrador e não Windows PowerShell ISE )
Colocar Set-Locationem seu perfil mudará incondicionalmente o diretório de trabalho atual, o que pode ter consequências indesejadas em relação ao diretório de trabalho para scripts que você executa por meio de "executar com PowerShell".
Uma solução alternativa é alterar o diretório de trabalho dos .lnkarquivos para PowerShell geralmente encontrado em %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell. Clique com o botão direito em um link e altere o diretório de trabalho %HOMEDRIVE%%HOMEPATH%para o diretório desejado.
Run as administratorno .lnkmenu avançado. A solução parece estar aqui stackoverflow.com/questions/31622469/…
-NoProfileopção como powershell -NoProfile -File "myscript.ps1"
Digite isso no PowerShell:
New-Item -path $profile -type file –force
Ele cria um arquivo .ps1 na pasta PowerShell. Abra-o e edite-o como:
Set-location C:\files
Feito
Consulte este link. Funciona bem.
Em vez de alterar incondicionalmente o diretório de trabalho conforme mencionado nas respostas anteriores, você pode escrever uma função simples no perfil do PowerShell para usar Set-Locationpara alterar rapidamente o diretório de trabalho sempre que necessário.
Verifique a resposta de Jeremy Danyow para criar / modificar um perfil do PowerShell.
Adicione função (ões) ao seu perfil do PowerShell:
function goto_this {set-location 'your\path\to\some\dir'}
function goto_that {set-location 'your\path to some\dir with space'}
Basta alterar o nome da função e o diretório apontado. O uso de aspas no caminho é obrigatório se ele contiver espaços. Tento manter o prefixogoto_ , pois ajuda a lembrar os nomes das funções.
Você pode começar a digitar goto_e pressionar TAB para percorrer todas as funções adicionadas (lembre-se de iniciar uma nova janela do PowerShell após adicionar / modificar funções).
Usando apenas a linha de comando, se já existir um arquivo, ele será anexado a ele:
$(if (-Not (Test-Path ~\Documents\WindowsPowerShell\)){ mkdir ~\Documents\WindowsPowerShell\}) ; echo "Set-Location c:\THELOCATIONYOUWANT" >> ~\Documents\WindowsPowerShell\profile.ps1
Com isso, parece haver alguma confusão sobre o "diretório de trabalho" e a "localização" do PowerShell. O que a maioria das pessoas aqui está fazendo e dizendo para fazer é mudar a "localização" do PowerShell. O "diretório de trabalho" é realmente diferente. Aqui está um artigo que explica isso.
Para aqueles que não querem ler o artigo: Abra o PowerShell e use o que outros disseram para fazer Set-Location "C:\some\directory". Observe que seu "diretório de trabalho" ainda está onde seu PowerShell foi aberto. De qualquer "~"ou "%SYSTEMROOT%\system32", dependendo se você correu como administrador ou não. Para verificar o diretório de trabalho, use [Environment]::CurrentDirectory.
Nota: no artigo o autor diz para verificar o "diretório de trabalho" usando este comando:
\[Environment\]::CurrentDirectory
Não tenho certeza se isso funciona com versões anteriores do PowerShell, mas com o PowerShell 5 (e posterior) você tem que usar [Environment]::CurrentDirectory.