Visual studio Visual Studio预构建脚本可以';在windows/system32中找不到exe文件

Visual studio Visual Studio预构建脚本可以';在windows/system32中找不到exe文件,visual-studio,events,command,prompt,Visual Studio,Events,Command,Prompt,我被难住了。Visual Studio突然在Windows/System32目录中找不到exe文件(如xcopy、attrib等) 我有一些预构建和后构建事件,它们执行使用xcopy和attrib的批处理文件。以前它们工作得很好,但今天,在构建过程中,VisualStudio找不到它们。错误显示:“xcopy”未被识别为内部或外部命令、可操作程序或批处理文件 当我第一次注意到这个问题时,我尝试在一个普通的cmd提示符下运行xcopy,同样的问题也发生了。重新启动计算机后,问题在常规cmd提示符中

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

我有一些预构建和后构建事件,它们执行使用xcopy和attrib的批处理文件。以前它们工作得很好,但今天,在构建过程中,VisualStudio找不到它们。错误显示:“xcopy”未被识别为内部或外部命令、可操作程序或批处理文件

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

如果在其中一个批处理文件中执行设置以检查PATH变量或echo%systemroot%,则一切都正常

在工具->选项菜单中,有VisualC++目录的设置。但是我运行C++,而不是C++,而且,我从未改变这些设置,它们看起来是正确的。
以前有人有过这个问题吗?想法?

这只能是两件事之一:从批处理文件中看到的路径有问题,或者正在运行的命令(例如XCOPY)有误


%systemroot%并不重要,因为XCOPY等都在系统目录中(在WinXP C:\Windows\System32上),%systemroot%是Windows目录(在XP C:\Windows上更高一级)。

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

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

因此,我尝试手动导航到C:\WINDOWS\SYSTEM32并执行XCOPY。成功了

解决方案:

  • 导航至控制面板->系统->高级系统设置->环境变量

  • 首次安装windows时,该变量为: %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem

    将它们放在路径变量的开头,然后单击“确定”两次


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

    这正是我所想的,但是当我通过命令行(甚至是VS命令提示符)手动运行批处理文件时,批处理文件执行得很好。还有一种情况:在windows 8中,我的VS 2012无法在System32中运行应用程序,即使它是以管理员身份运行的。我不得不将程序移出System32。在重新启动后,这个问题在今天早上自行解决。我把它归咎于Windows更新或是一个流氓系统管理员做的奇怪的事情。这救了我的命!VisualStudio在前端需要这三个变量来查找内容……谢谢dopplesoldner!在我的例子中,问题发生在安装新的Java版本之后。该安装将其路径放在
    path
    变量的开头,导致出现上述问题。