10

Когда я запускаю cmd в Windows 7 (вводя 'cmd' в Windows Run), появляется следующая ошибка:

'-p' не распознается как внутренняя или внешняя команда, работающая программа или командный файл.

Я попытался проверить PATH в переменных среды. Запуск echo %PATH% дает мне следующее:

C:\Windows\System32, C:\Windows, C:\Windows\System32\WindowsPowerShell\v1.0; C:\ XAMPP \ PHP;

Я проверил все каталоги, на которые указывает PATH. Кажется, все на месте. Что я не могу понять, так это то, где вызывается '-p' . Я думаю, что это как-то связано с cmd поскольку он появляется только тогда, когда я вызываю cmd а не когда я запускаю ipconfig или ping , например.

1 ответ1

11

Возможно, в реестре установлена команда «Автозапуск». Существует два раздела реестра, один для пользователя и один для компьютера, которые могут определять команды, запускаемые при каждом запуске командного процессора (cmd.exe). Они фактически перечислены в cmd /? ,

В любом случае, попробуйте запустить cmd /d и посмотреть, выдает ли это сообщение то же самое. Флаг /d означает «не запускать команды автозапуска», что делает его идеальным для проверки этого.

Значения реестра:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

Проверьте оба. По умолчанию ни один не должен существовать. Вы можете исправить командные строки в вашей или даже полностью удалить их.

Связанный: http://blogs.msdn.com/b/oldnewthing/archive/2007/11/21/6447771.aspx


В качестве альтернативы вы можете создать пакетный скрипт или аналогичный файл с именем cmd , который выполняется вместо собственного cmd . Попробуйте команду where cmd распечатать список cmd s в вашем пути, в порядке выполнения. Если в C:\Windows\System32\cmd.exe есть какой-либо другой файл, отличный от / перед, вы можете удалить их или удалить их путь из переменной среды PATH.

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