comando adb para o PowerShell (Windows)

1

Sou novo no Windows. Eu instalei arquivos adb e fastboot (platform-tools) para Windows, e adicionei a pasta na variável path para que Eu posso acessar adb universalmente.

Eu fiz algumas pesquisas e descobri que o Windows está mudando lentamente para o PowerShell (o que é bom) e (eu acho) omitirá o CMD legado eventualmente. Assim, até mesmo o menu [Shift + Right click] mostra a opção "Abrir janela do PowerShell aqui". Eu li alguns artigos e estou familiarizado com hacks de registro para adicionar "Abrir prompt de comando aqui" e remover "Abrir janela do PowerShell aqui", mas isso não é algo que eu gostaria de fazer, considerando que o PowerShell é muito mais avançado que o CMD. / p>

Agora, quando abro o PowerShell na mesma pasta em que instalei as ferramentas de plataforma e executo o comando adb, recebo isto e é bem sucedido .

.\adb devices  
.\adb.exe devices  

Mas quando abro o PowerShell em outro lugar e executo o comando, ele não é bem-sucedido . Por que o comportamento é mesmo quando adicionei a pasta adb à variável path? E como posso executar o comando com sucesso universalmente?

Durante minha pesquisa, encontrei um aplicativo que fornece o PowerShell ADB & Fastboot GUI - PoshADB (só queria compartilhar).

Por favor, note que adb devices funciona bem em cmd, universalmente.

-

Uma conclusão que tirei da resposta abaixo:

  • Quando arquivos adb NÃO estão no meu PATH

    • Eles funcionam na mesma pasta em que o adb está instalado:

      • Chamar por caminho completo
        • .\adb devices
        • .\adb.exe devices
    • Isso funciona de maneira universal:

      • Chamar por caminho completo
  • Quando os arquivos adb estão no meu PATH

    • Eles funcionam na mesma pasta em que o adb está instalado:

      • Chamar por caminho completo
        • .\adb devices
        • .\adb.exe devices
      • adb devices
    • Isso funciona universalmente:

      • adb devices
      • Chamar por caminho completo

Para minha referência futura- (Concisamente: se não estiver no seu PATH , você terá que digitar o caminho completo para que ele funcione. E, se estiver no PATH , você poderá digitar adb devices ou mencionar o caminho completo de adb)

    
por swingcake 17.09.2017 / 09:08

1 resposta

1

Quando você usa .\ para executar um comando, está dizendo ao PowerShell para procurar apenas no diretório atual - o ponto significa "esta pasta", como no antigo comando processador. Se a coisa que você está tentando executar não estiver na pasta atual, mesmo que esteja no PATH , isso falhará. Observe que o termo "fornecimento de ponto" refere-se à execução de scripts do PowerShell no escopo atual, em vez dos próprios, o que é diferente de executar um comando no diretório atual.

Você pode digitar o nome do programa sem .\ em qualquer lugar para executá-lo, se estiver em PATH . Observe, no entanto, que o PowerShell não verá alterações em PATH ou qualquer variável de ambiente até que você o reinicie. Depois de ajustar a variável de ambiente e abrir um novo PowerShell, basta adb ser suficiente para identificar o programa que você deseja executar, independentemente do diretório atual.

    
por 17.09.2017 / 21:42