Windows CMD.exe «Система не может найти указанный путь».

Решено путем восстановления Windows до предыдущего состояния

Сообщение (система не может найти указанный путь) показывает …

1) Когда я открываю новый CMD (Win + R => cmd). Он начинается с введения. (в строке 3)

Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. The system cannot find the path specified. C:\Users\ViliamKopecky> 

2) Когда я выполняю какую-либо команду, например, cmd /C dir (или cmd /C php -v или что-то еще) (в строке 2)

 C:\Users\ViliamKopecky>cmd /C dir The system cannot find the path specified. Volume in drive C is Windows7_OS Volume Serial Number is 8230-1246 ... C:\Windows\System32>cmd /C php -v The system cannot find the path specified. PHP 5.4.8 (cli) (built: Oct 16 2012 22:30:23) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies 

3) (самый раздражающий), когда я запускаю функцию exec с PHP или Node.js или, возможно, на любой скриптовый язык. (которые, вероятно, запускаются изнутри как cmd /C <command> )

Сообщение не отображается …

1) когда я выполняю команду прямо из cmd (или mingw, …)

 C:\Users\ViliamKopecky>dir Volume in drive C is Windows7_OS Volume Serial Number is 8230-1246 Directory of C:\Users\ViliamKopecky 

Начнем с простой команды из cmd.

php -r "exec('dir', $stdout, $stderr); print(implode(\"\n\", $stdout), $stderr);"

и результат подобен этому (тест каталога пуст – это правильно) :

 E:\test>php -r "exec('dir', $stdout, $stderr); print(implode(\"\n\", $stdout), $stderr);" The system cannot find the path specified. Volume in drive E is www Volume Serial Number is 0C99-95EC Directory of E:\test 09.11.2012 22:42 <DIR> . 09.11.2012 22:42 <DIR> .. 0 File(s) 0 bytes 2 Dir(s) 13 495 296 000 bytes free int(1) 

Который показывает, что команда dir выполнена из php правильно. Единственное, что неправильно, это вторая строка . Система не может найти указанный путь. – этого не должно быть.

Это сообщение выводится exec из PHP (а также из Node.js как require('child_process').exec("dir", function(err, stdout, stderr) {console.log(stderr)}); )

Когда я выполняю команду прямо из cmd (или mingw и т. Д.), Она выполняется правильно без сообщения. Переменная среды PATH выглядит нормально. Проблема просто выполняется из среды сценария через функции exec .

Как избавиться от этого раздражающего сообщения? благодаря

Проблема заключается в том, что некоторые программы были настроены на автозапуск при запуске cmd.exe. В моем случае это был ANSICON, который был установлен … и затем я переместил файл без должной деинсталляции.

Я нашел решение в этом блоге:

http://carol-nichols.com/2011/03/17/the-system-cannot-find-the-path-specified/

Краткая версия – найти

HKCU \ Программное обеспечение \ Microsoft \ Командный процессор \ AutoRun

и очистите значение.

Это действительно похоже на ошибку запуска с PHP, а не с вашим кодом. Есть ли

php -r "echo 1;"

также бросают ту же ошибку? Если это так, ваш файл php.ini или включение могут быть исправлены неправильно.

php -i

должен дать вам больше информации.

Я думаю, вы должны попробовать это! У меня была такая же проблема, и я решил ее так:

ok type: cd \ windows \ system32 После этого вы увидите следующее: System32 /: Введите то, что вы хотите (например: ipconfig): System32: ipconfig Тогда это должно сделать это! 🙂