Команда adb для PowerShell (Windows)

Я новичок в Windows. Я установил файлы adb и fastboot (platform-tools) для Windows и добавил папку в переменную path, чтобы я мог получить доступ к adb повсеместно.

Я провел некоторое исследование и обнаружил, что Windows постепенно переключается на PowerShell (что хорошо) и (я полагаю) в конечном итоге пропустит устаревшую CMD. Так что даже в меню [Shift + правый щелчок] отображается опция "Открыть окно PowerShell здесь". Я прочитал несколько статей и знаком со взломами реестра, чтобы добавить "Открыть командную строку здесь" и удалить "Открыть окно PowerShell здесь", но это не то, что я хотел бы сделать, учитывая, что PowerShell намного более продвинут, чем CMD.

Теперь, когда я открываю PowerShell в той же папке, где я установил инструменты платформы и запускаю команду adb, я получаю это, и это успешно.

.\adb devices  
.\adb.exe devices  

Но когда я открываю PowerShell в другом месте и запускаю команду, это не удается. Почему так даже при добавлении папки adb в переменную path? И как я могу выполнить команду успешно универсально?

Во время поиска я нашел приложение, которое предоставляет PowerShell ADB и Fastboot GUI - PoshADB (просто хотел поделиться).

Обратите внимание, что adb devices прекрасно работает в CMD, универсально.

-

Вывод, который я сделал из ответа ниже:

  • Когда ADB файлы не на моемPATH

    • Они работают в той же папке, где установлен adb:

      • Звоните по полному пути
        • .\adb devices
        • .\adb.exe devices
    • Это работает универсально:

      • Звоните по полному пути
  • Когда ADB файлы включены, мойPATH

    • Они работают в той же папке, где установлен adb:

      • Звоните по полному пути
        • .\adb devices
        • .\adb.exe devices
      • adb devices
    • Это работает повсеместно:

      • adb devices
      • Звоните по полному пути

Для моей будущей ссылки- (кратко: если это не на вашем PATH затем вы должны ввести полный путь для его работы. И если это на вашем PATH тогда вы можете просто набрать adb devicesили упомяните полный путь по adb)

1 ответ

Решение

Когда вы используете .\ чтобы запустить команду, вы говорите PowerShell искать ее только в текущем каталоге - точка означает "эту папку", как в старом командном процессоре. Если то, что вы пытаетесь запустить, отсутствует в текущей папке, даже если оно находится на PATH, что не получится. Обратите внимание, что термин "точечный источник" относится к выполнению сценариев PowerShell в текущей области вместо их собственных, что отличается от выполнения команды из текущего каталога.

Вы можете ввести название программы без .\ в любом месте, чтобы запустить его, если он находится на вашем PATH, Обратите внимание, что PowerShell не увидит изменений в PATH или любую переменную среды, пока вы не перезапустите ее. После того, как вы настроили переменную среды и открыли новый PowerShell, просто adb достаточно для определения программы, которую вы хотите запустить, независимо от вашего текущего каталога.

Другие вопросы по тегам