1) When i open new CMD (Win+R => cmd). It starts with introduction. (on line 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) When i execute some command like cmd /C dir
(or cmd /C php -v
or whatever) (on line 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) (the most annoying) when i run exec
function from PHP or Node.js or probably any scripting lang. (which are probably runned from inside as cmd /C <command>
)
1) when i execute the command right from the cmd (or mingw, ...)
C:\Users\ViliamKopecky>dir Volume in drive C is Windows7_OS Volume Serial Number is 8230-1246 Directory of C:\Users\ViliamKopecky
Let's start with simple command from cmd.
php -r "exec('dir', $stdout, $stderr); print(implode(\"\n\", $stdout), $stderr);"
and the result is like this (the directory test is empty - that is correct):
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)
Which shows that the command dir
has is executed from php correctly. Only thing thats wrong is the second line - The system cannot find the path specified. - that should not be there.
This message is output by exec from PHP (and also from Node.js as require('child_process').exec("dir", function(err, stdout, stderr) {console.log(stderr)});
)
When I execute command right from cmd (or mingw, etc.) it executes correctly without the message. Environment variable PATH seem ok. Problem is just executing from script environment through exec
functions.
How to get rid of that annoying message? Thanks
Select Start, select Control Panel. double click System, and select the Advanced tab. Click Environment Variables. In the section System Variables, find the PATH environment variable and select it.
The problem is that some program has been set to autorun when you run cmd.exe. In my case it was ANSICON that was installed... and then I moved the file without properly uninstalling.
I found a solution in this blog post:
http://carol-nichols.com/2011/03/17/the-system-cannot-find-the-path-specified/
The short version is to find
HKCU\Software\Microsoft\Command Processor\AutoRun
and clear the value.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With