为什么Hudson不承认xcopy命令?

4

我在我的Hudson构建步骤中有一个Windows批处理命令,基本上是这样的:

 xcopy /s *.* \\serverlocation\buildname\

复制过程出现了问题,报错信息如下:
'xcopy' is not recognized as an internal or external command, operable program or batch file.

然而,xcopy可以在命令行上使用(与copy一样)。我需要做什么才能让Hudson使用xcopy?

编辑:我的路径是

PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Perforce;C:\Program Files\CVSNT;C:\Program Files\CVSNT\

这也许就是为什么它可以从命令行工作的原因。

2个回答

7

xcopy 在您的system32目录中,请确保其在您的PATH环境变量中。


路径= C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Perforce;C:\Program Files\CVSNT;C:\Program Files\CVSNT - mmr
1
那是从Hudson还是命令行获取的路径?只是想确认自己是否在正确的路上。 :-) - C. K. Young
1
好主意。我打算直接输入'C:\windows\system32\xcopy'而不是'xcopy',看看是否有效... - mmr
aaaaannnndddd...那就是问题所在。唉,我感到有点羞愧。 - mmr

1

在使用Hudson(或其他构建系统)时,您可能需要注意的一点是复制文件时路径的总长度。

在我的情况下,我遇到了使用xcopy复制深层嵌套在目录结构中的文件时的问题,这样当与Hudson的工作/构建路径级别相结合时,它(我假设)超过了xcopy可处理的最大允许路径长度。我目前的解决方法是在复制之前简单地压缩构建输出,但我正在寻找更简洁的解决方案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接