XCOPY到远程服务器

时间:2009-11-26 10:25:18

标签: c# deployment xcopy

为了改进我的ASP.NET应用程序的部署/构建过程,我想创建一个.bat

  • 以发布模式构建当前解决方案
  • xcopy文件到远程服务器

通过命令行创建发布版很容易。

但是如何将文件xcopy到远程服务器?

我想我必须将远程目标映射到网络驱动器(?)。但是我无法连接到远程服务器,尽管我已经为服务器上的文件夹启用了文件共享。也许防火墙阻止了请求?我应该打开哪个端口?还是有另一种解决方案吗?

修改

感谢目前为止的所有答案,但我可能需要一步一步指导如何在服务器上设置文件夹共享。我共享了文件夹,我打开了端口445,这样我就可以连接到服务器了但是,我无法从本地机器连接到服务器,以便将网络路径映射到系统驱动器。

8 个答案:

答案 0 :(得分:3)

使用XCOPY通过UNC路径移动文件可能是值得的

  

\\机\文件夹

这将要求您从原始服务器访问文件夹。检查文件夹是否已共享,以及是否已授予相关的读/写权限。

答案 1 :(得分:3)

由于您正在部署ASP.Net站点,我假设您处于Windows环境中(不聪明?:))。
所以!忘记.bat然后去 POWERSHELL

无论如何,这不是你问题的重点...... 要复制到远程文件夹,您应该有权在远程计算机上执行此操作。

检查您的本地计算机和远程计算机上是否有相同的帐户。 例如,如果您使用登录名“Pipo”登录“Work”域中的本地计算机,则必须授予此帐户权限以写入远程计算机上的特殊文件夹。

您可以通过右键单击文件夹,安全选项,然后选择正确的标识来实现此目的。

以下是分步指南:

http://support.microsoft.com/kb/301281

答案 2 :(得分:1)

如果服务器位于您的本地网络上,我建议使用robocopy而不是xcopy - 它有更多有用的选项和功能来重试错误。它处理UNC名称就好了(我相信xcopy也是如此)。我认为它可以在较新的Windows客户端上使用 - 如果它不在你的机器谷歌上 - 它可用于各种资源包下载(我不知道微软是否/何时开始将其包含在操作系统发行版中的细节,因为我已经已经在我的实用工具包中使用了很长时间了。)

如果服务器不是本地服务器,则可以编写命令行FTP客户端脚本以执行传输。如果您需要额外的灵活性或安全性,还有许多其他文件传输选项,包括WinSCP

当然,在任何一种情况下(本地或远程服务器),都需要正确设置服务器的权限和身份验证,以便有机会工作。

答案 3 :(得分:1)

您可以使用任何UNC路径:\\machine\sharedFolder。如果您不想设置共享文件夹,可以使用$ sign:\\machine\c$\program files\etc引用计算机上的任何驱动器。如果您的计算机位于Active Directory中,或者如果目标计算机上的本地用户具有相同的用户名和密码,则Windows将无缝地处理身份验证。

答案 4 :(得分:0)

你试过释放它吗?

http://www.eworldui.net/unleashit/

它可以跨网络移动文件,运行预构建bat文件,文件屏蔽等...

我曾经在.net 1.1项目之前使用它。

答案 5 :(得分:0)

我想你想要:

XCOPY c:\myproject\build\*.* \\server\\build\ /S /E

答案 6 :(得分:0)

以上所有内容似乎都是一个很好的答案 - 您可以使用msbuild脚本和msbuild社区任务来完成所有这些 - 他们可以压缩您的构建并将其ftp到远程服务器。

我刚为我们的一个网站设置了这个,花了几个小时来解决它,但它在发布中构建网站,更新配置文件以进行生产,删除不必要的文件然后执行上传。

答案 7 :(得分:0)

在找到这么多答案之后

是解决方案

"xcopy D:\\folder\\container \\\\servername\\folder\\container\\ \/E \/H \/Y"