Команда 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
достаточно для определения программы, которую вы хотите запустить, независимо от вашего текущего каталога.