1

Это очень раздражает, для запуска любого .exe который находится в текущем каталоге в Powershell, я должен использовать .\ Forward.

Например, если у меня есть программа fastboot.exe внутри текущей папки, я не могу просто напечатать fastboot , как это происходит внутри cmd . Я вынужден напечатать:

.\fastboot

Если я просто fastboot (без .\ Я получаю сообщение об ошибке вроде:

Термин «fastboot» не распознается как имя командлета, функции, файла сценария или работоспособной программы. Проверьте правильность написания имени или, если путь был указан, проверьте правильность пути и повторите попытку.

+ fastboot + ~~~~~~~~ + CategoryInfo: ObjectNotFound: (fastboot: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException

Как этого избежать?

1 ответ1

1

По умолчанию Powershell не загружает команды из текущего местоположения.

Предложение [3, Общее]: команда xxx.exe не найдена, но существует в текущем местоположении. Windows PowerShell не загружает команды из текущего местоположения по умолчанию. Если вы доверяете этой команде, вместо этого введите «.\ Xxx.exe». Смотрите "get-help about_Command_Precedence" для более подробной информации.

Таким образом, у вас есть два варианта

  • Снизьте барьер безопасности, добавив текущий каталог к вашему пути

     $env:path ="$($env:path);."
    
  • Получить в привычку всегда префикс команды с .\

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .