xcopy不被识别为内部或外部命令,可操作程序或批处理文件

Alk*_*Alk 32 xcopy

我使用'xcopy'命令时遇到问题.

我正在用msbuild构建一个C#项目.在构建结束时,调用批处理文件将我的程序集从Debug/Release复制到其他一些文件夹.

这是问题,我的构建失败,错误日志是'xcopy不被识别为内部或外部命令,可操作程序或批处理文件'.

路径设置正确,xcopy可以从Windows命令行和visual studio命令行(使用项目环境设置的命令行)中运行.

我试图在批处理文件中设置路径,但它没有帮助.

有什么建议吗?

我正在使用Windows 7

干杯:)

Ava*_*his 41

我遇到了同样的问题.

它似乎是Visual Studio中的路径环境变量的问题.

当我在构建事件的开头添加"path"语句时,它产生了以下输出:

PATH=
Run Code Online (Sandbox Code Playgroud)

这似乎表明VS构建环境中的路径是空的.

当我像这样指定xcopy的完整路径时,问题就消失了:

%systemroot%\System32\xcopy ...
Run Code Online (Sandbox Code Playgroud)

我不确定是什么原因导致Visual Studio失去它的路径.


小智 16

设置环境变量 PATH = %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\


Nat*_*ook 6

在我更新了我的一个Visual Studio扩展后,它发生在我身上,在此期间,Visual Studio被更新程序关闭并重新打开.我再也无法正确构建我的项目了.我关闭了Visual Studio并重新打开它,问题就消失了.


Phi*_*ers 6

对于Windows 7或8,这不是问题.对于更新PATH等环境变量的应用程序来说,实际上存在问题.PATH作为"可扩展字符串值"(REG_EXPAND_SZ)存储在注册表中,但许多应用程序将其作为"字符串值"(REG_SZ)写回注册表.如果您的路径包含%SYSTEMROOT%之类的内容,则如果路径在REG_SZ中进行了备份,则不会将其扩展为C:\ Windows(或其他任何内容).

修复只是从控制面板手动编辑路径.您需要进行更改(例如,添加;到路径的末尾),然后应用它.这将修复您在注册表中的路径为REG_EXPAND_SZ.(转到"系统控制面板"并选择"高级系统设置".在下方框中编辑"路径环境"变量,应该修复它.

通过打开命令提示符并键入PATH,可以通过这种方式判断路径是否已损坏.您的路径将被列出.如果您可以看到%%中包含的任何内容,那么您的路径不会被展开.

  • 菲尔!就我而言,这是在 Windows XP 上,注册表中的条目 (HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment\Path) 确实已设置为 REG_SZ。从“控制面板”>“系统”>“高级”>“环境变量”重新建立路径,在注册表中更正了该路径。当我启动新的命令提示符时,路径已正确“扩展”。 (2认同)