Ошибка «list не является внутренней или внешней командой» в командной строке: причины и решение

Ошибка «"list" не является внутренней или внешней командой, исполняемой программой или пакетным файлом» появляется в командной строке Windows, когда система не находит исполняемый файл с именем list ни среди встроенных команд cmd.exe, ни в папках, прописанных в переменной окружения PATH. Чаще всего это происходит после установки Python, Node.js или другого инструментария, когда пользователь пытается вызвать команду, которой на самом деле не существует, либо путь к нужной программе не добавлен в системные переменные.

Разберёмся, почему командная строка выдаёт такое сообщение, как проверить, что именно пошло не так, и какие шаги помогут устранить проблему без переустановки системы. Инструкция подходит для Windows 10 и Windows 11.

Что означает эта ошибка

Командная строка Windows ищет введённую команду в строго определённом порядке: сначала среди внутренних команд интерпретатора (dir, cd, copy), затем в текущей папке, а после — во всех каталогах, перечисленных в переменной PATH. Если ни на одном этапе файл list.exe, list.bat или list.cmd не обнаружен, система возвращает знакомое сообщение об ошибке.

Важный нюанс: команды «list» в составе стандартной Windows не существует. Это значит, что ошибка почти всегда связана с одной из двух ситуаций: либо вы опечатались в названии реальной команды, либо программа, которая должна предоставлять эту команду, не установлена или не прописана в PATH.

Типичные причины появления ошибки

Прежде чем что-то исправлять, определите, какой сценарий соответствует вашей ситуации. От этого зависит выбор решения.

  • 🔤 Опечатка в команде — например, вы хотели ввести dir, ls или команду сторонней утилиты, но ввели «list».
  • 🐍 Команда из чужого руководства — многие инструкции для Linux или macOS используют команды, которых нет в Windows.
  • 📦 Программа не установлена — пакет, предоставляющий нужную команду, отсутствует на компьютере.
  • 🛠️ Программа установлена, но не в PATH — исполняемый файл есть, однако система о нём не знает.
  • 🔄 PATH обновился, но консоль не перезапущена — открытые окна cmd не видят свежие переменные окружения.

Отдельный частый случай — работа с Python. Пользователи нередко путают команду интерпретатора и встроенную функцию языка: list в Python — это тип данных, а не команда терминала. Вводить её в cmd бессмысленно, она работает только внутри кода или интерактивной оболочки Python.

Шаг 1. Проверьте, что вы хотели выполнить

Вернитесь к инструкции, которой вы следовали, и сверьте команду посимвольно. Если руководство написано для Linux, команда ls (вывод списка файлов) в Windows-консоли по умолчанию не работает — её аналогом служит dir. В PowerShell команда ls доступна как псевдоним, но в классическом cmd — нет.

Если инструкция требовала вывести список чего-либо, ищите правильную команду для конкретного инструмента:

pip list

npm list

winget list

diskpart → list disk

Обратите внимание на последний пример: list disk — это не самостоятельная команда, а подкоманда внутри интерактивной утилиты diskpart. Если ввести её напрямую в cmd, вы получите именно ту ошибку, которую разбираем. Сначала запустите diskpart, дождитесь приглашения DISKPART> и только потом вводите list disk.

Шаг 2. Убедитесь, что программа установлена

Если команда верная и относится к сторонней программе, проверьте, установлена ли она. Проще всего сделать это через поиск исполняемого файла. Откройте командную строку и выполните:

where python

where pip

where node

Команда where показывает полный путь к найденному исполняемому файлу. Если в ответ вы видите сообщение «не удается найти файлы по указанному шаблону», значит, программа либо не установлена, либо её папка отсутствует в PATH.

Дополнительно проверьте список установленных приложений: откройте Параметры → Приложения → Установленные приложения и найдите нужную программу по имени. Если её нет — установите с официального сайта разработчика, а при установке Python обязательно отметьте галочку Add Python to PATH в первом окне установщика.

📊 В какой ситуации вы столкнулись с ошибкой «list не является...»?
Работал с diskpart или другой системной утилитой
Устанавливал Python или pip
Следовал инструкции для Linux
Просто опечатался в команде

Шаг 3. Проверьте и исправьте переменную PATH

Когда программа установлена, но консоль её не видит, почти наверняка проблема в переменной окружения PATH. Чтобы проверить её текущее содержимое, выполните:

echo %PATH%

Найдите в выводе путь к папке с нужной программой. Если его нет, добавьте вручную через графический интерфейс:

☑️ Как добавить папку в PATH

Выполнено: 0 / 5
⚠️ Внимание: редактируйте PATH аккуратно и не удаляйте существующие строки — некоторые из них нужны самой Windows и установленным программам. Перед изменением скопируйте текущее значение переменной в текстовый файл, чтобы была возможность откатить правки.

После сохранения изменений обязательно закройте и заново откройте командную строку — уже запущенные окна консоли работают со старым набором переменных и новых путей не увидят. Это одна из самых частых причин, почему «вроде всё сделал, а ошибка осталась».

Шаг 4. Альтернатива — запуск по полному пути

Если менять системные переменные не хочется или нет прав администратора, любую программу можно запустить, указав полный путь к исполняемому файлу. Например:

"C:\Users\Имя\AppData\Local\Programs\Python\Python312\python.exe" --version

Кавычки обязательны, если в пути есть пробелы. Этот способ хорош как временная мера или для разовой проверки, но для постоянной работы удобнее один раз настроить PATH.

Как узнать, куда установилась программа

Откройте меню «Пуск», найдите ярлык программы, щёлкните по нему правой кнопкой мыши и выберите «Дополнительно → Перейти к расположению файла». Затем снова правой кнопкой по ярлыку → «Свойства» — в поле «Объект» будет указан полный путь к исполняемому файлу.

Сравнение способов решения

Сводная таблица поможет выбрать подходящий метод под вашу ситуацию.

ПричинаРешениеСложность
Опечатка или чужая ОС в инструкцииНайти правильную команду для WindowsМинимальная
Подкоманда внутри утилиты (diskpart)Сначала войти в оболочку утилитыМинимальная
Программа не установленаУстановить с официального сайтаНизкая
Папки нет в PATHДобавить путь в переменные средыСредняя
Консоль не перезапущенаЗакрыть и открыть cmd зановоМинимальная
⚠️ Внимание: не скачивайте отдельные файлы вроде «list.exe» с незнакомых сайтов, чтобы «добавить недостающую команду». Такой файл с высокой вероятностью окажется вредоносным — в Windows этой команды нет по замыслу, и под видом неё распространяют вредоносное ПО.

Если ничего не помогло

В редких случаях ошибка сохраняется даже после правильной настройки PATH. Тогда имеет смысл проверить несколько дополнительных моментов. Во-первых, убедитесь, что вы добавили путь именно в ту переменную: есть пользовательский PATH и системный — программа будет видна, если путь присутствует хотя бы в одном из них. Во-вторых, проверьте, не заканчивается ли путь лишними символами или обратным слэшем, который иногда ломает разбор строки.

Также попробуйте перезагрузить компьютер целиком: некоторые службы и фоновые процессы подхватывают переменные окружения только при старте системы. Если программа запускается по полному пути, но не по короткому имени — проблема точно в PATH, ищите ошибку в записанном значении.

Часто задаваемые вопросы

Что означает «не является внутренней или внешней командой»?

Это стандартное сообщение cmd.exe о том, что введённое имя не найдено ни среди встроенных команд интерпретатора, ни среди исполняемых файлов в текущей папке и каталогах из переменной PATH.

Как выполнить list disk, если выдаёт ошибку?

Команда list disk работает только внутри утилиты diskpart. Сначала введите diskpart и нажмите Enter, дождитесь приглашения DISKPART>, а затем вводите list disk. Для запуска diskpart требуются права администратора.

Я добавил путь в PATH, но ошибка осталась. Что делать?

Закройте все окна командной строки и откройте новое — переменные окружения обновляются только при запуске консоли. Если не помогло, проверьте правильность пути командой echo %PATH% и перезагрузите компьютер.

Есть ли в Windows аналог команды ls из Linux?

Да, в классическом cmd это команда dir. В PowerShell работают оба варианта: и dir, и ls (как псевдоним). Команды list для вывода содержимого папки в Windows не предусмотрено.

Может ли ошибка быть вызвана вирусом?

Сама по себе — нет, это штатная диагностика cmd. Но если ошибка появляется при запуске ранее работавшей программы, стоит проверить, не был ли исполняемый файл удалён или помещён в карантин антивирусом, и не изменился ли PATH без вашего ведома.