it-swarm.com.ru

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 as require('child_process').exec("dir", function(err, stdout, stderr) {console.log(stderr)});)

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

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

14
ViliamKopecky

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

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

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

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

HKCU\Программное обеспечение\Microsoft\Командный процессор\Автозапуск

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

32
s3v1

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

php -r "echo 1;"

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

php -i

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

0
Joseph Keeler

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

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

0
Jess