Windows CMD.exe “O sistema não pode encontrar o caminho especificado.”

Resolvido restaurando o Windows para o estado anteriorA mensagem (O sistema não pode encontrar o caminho especificado.) Mostra ...

1) Quando eu abro o novo CMD (Win + R => cmd). Começa com a introdução. (na linha 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) Quando executo algum comando comocmd /C dir (oucmd /C php -v ou qualquer outra coisa) (na linha 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) (o mais chato) quando eu corroexec função do PHP ou Node.js ou provavelmente qualquer linguagem de script. (que provavelmente são executados de dentro comocmd /C <command>)

A mensagem não mostra ...

1) quando eu executo o comando direto do cmd (ou mingw, ...)

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

 Directory of C:\Users\ViliamKopecky

Vamos começar com o comando simples do cmd.

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

e o resultado é assim(o teste de diretório está vazio - isso está correto):

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)

O que mostra que o comandodir tem é executado a partir do php corretamente. A única coisa errada é a segunda linha -O sistema não consegue encontrar o caminho especificado. - isso não deveria estar lá.

Esta mensagem é enviada pelo exec dePHP (e também deNode.js Comorequire('child_process').exec("dir", function(err, stdout, stderr) {console.log(stderr)});)

Quando eu executo o comando direto do cmd (ou mingw, etc.) ele executa corretamente sem a mensagem. Variável de ambiente PATH parece ok. O problema é apenas executar a partir do ambiente de script através deexec funções.

Como se livrar dessa mensagem irritante? obrigado

questionAnswers(3)

yourAnswerToTheQuestion