script em lote simples não funciona PS, mas funciona em cmd [duplicado]

1

Eu tenho um script .bat que apenas cds em um diretório

cddocs.bat

cd \Users\Me\Documents\NetBeansProjects\

Está na minha pasta pessoal. ( C:\Users\Me )

Em cmd quando eu executo

C:\Users\Me>cddocs
C:\Users\Me>cd \Users\Me\Documents\NetBeansProjects\
C:\Users\Me\Documents\NetBeansProjects\>

Funciona como esperado, estou no diretório NetBeans. No powershell, eu entendo isso

PS C:\Users\Me> .\cddocs

C:\Users\Me>cd \Users\Me\Documents\NetBeansProjects\
PS C:\Users\Me>

Portanto, parece que o comando cd está sendo executado, mas ainda estou no meu diretório inicial! Eu devo estar perdendo algo muito simples aqui. Como posso obter esse script minúsculo para criar um cd no diretório no powershell?

    
por chiliNUT 22.04.2016 / 17:45

1 resposta

0

Seu ambiente de powershell está iniciando seu script em um contexto de lote cmd.

Neste contexto, o script está mudando seu diretório atual (com seu comando 'cd'). Depois disso, o script sai.

Quando o script sai do contexto de lote cmd, o contexto é destruído e você retorna ao contexto inicial do PowerShell, que não alterou seu diretório atual.

    
por 22.04.2016 / 18:08