Windows CMD.exe“系统找不到指定的路径。通过将Windows还原到以前的状态来解决

2022-08-30 19:41:03

通过将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)当我执行一些命令时,如(或其他)(在第2行)cmd /C dircmd /C php -v

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)(最烦人的)当我从PHP或Node运行函数时.js或任何脚本语言(可能是从内部运行的)execcmd /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)

这表明该命令已从php正确执行。唯一错误的是第二行 - 系统找不到指定的路径。dir

此消息由 exec 从 PHP(以及 Node.js输出,如下所示require('child_process').exec("dir", function(err, stdout, stderr) {console.log(stderr)});)

当我直接从cmd(或mingw等)执行命令时,它会在没有消息的情况下正确执行。环境变量 PATH 似乎没问题。问题只是通过函数从脚本环境执行。exec

如何摆脱那个烦人的消息?谢谢


答案 1

问题是某些程序已设置为在运行cmd.exe时自动运行。在我的情况下,安装了ANSICON...然后我移动了文件而没有正确卸载。

我在这篇博客文章中找到了一个解决方案:

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

简短的版本是要找到的

HKCU\Software\Microsoft\Command Processor\AutoRun

并清除值。


答案 2

这实际上看起来像是PHP的启动错误,而不是代码的启动错误。是否

php -r "echo 1;"

还抛出相同的错误?如果是这样,您的 php.ini 文件或包含的路径可能不正确。

php -i

应该给你更多的信息。


推荐