5

我难住了。突然 Visual Studio 在 Windows/System32 目录中找不到 exe 文件(例如xcopyattrib等)。

我有一些执行使用 xcopy 和 attrib 的批处理文件的预构建和构建后事件。以前它们工作正常,但今天,在构建过程中,Visual Studio 找不到它们。显示错误:'xcopy' 不是内部或外部命令、可运行程序或批处理文件

当我第一次注意到这个问题时,我尝试在常规 cmd 提示符下运行 xcopy 并发生了同样的问题。重新启动计算机后,问题在常规 cmd 提示符中消失了,但仍然存在于 Visual Studio 中。重新启动后,Visual Studio cmd 提示符中也不会出现问题 - 仅来自 Visual Studio 本身。

如果在我执行的一个批处理文件中设置为检查 PATH 变量或echo %systemroot% ,则一切看起来都很正常。

在 Tools->Options 菜单中有 VisualC++ 目录的设置。但是我运行的是 C#,而不是 C++,此外,我从未更改过这些设置,它们似乎是正确的。

以前有人遇到过这个问题吗?想法?

4

2 回答 2

4

我之前在尝试从 Visual Studio 构建时遇到了同样的问题。

尝试手动运行 XCOPY,但失败并显示消息“xcopy' 未被识别为内部或外部命令、可运行程序或批处理文件”

所以我尝试手动导航到 C:\WINDOWS\SYSTEM32 并执行 XCOPY。有效!

解决方案:

  1. 导航到控制面板 -> 系统 -> 高级系统设置 -> 环境变量

  2. 首次安装 Windows 时,该变量为: %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem

    将这些放在PATH变量的开头,然后单击 OK 两次。

您将需要重新启动正在运行的应用程序以将新路径应用于它们,而不是系统。

于 2012-07-30T14:01:39.623 回答
1

这只能是以下两种情况之一:从批处理文件中看到的 PATH 问题,或者正在运行的命令中的拼写错误(例如,XCOPY)。

%systemroot% 无关紧要,因为 XCOPY 等位于 SYSTEM 目录中(在 WinXP C:\Windows\System32 上),而 %systemroot% 是 Windows 目录(更高一级 - 同样,在 XP C 上: \视窗)。

于 2009-11-04T19:57:23.003 回答