【问题标题】:XCOPY to remote serverXCOPY 到远程服务器
【发布时间】:2009-11-26 10:25:17
【问题描述】:

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

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

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

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

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

编辑

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

【问题讨论】:

  • 如何设置服务器可能是serverfault.com的问题,而不是堆栈溢出

标签: c# deployment xcopy


【解决方案1】:

由于您正在部署一个 ASP.Net 站点,我假设您在 Windows 环境中(不是很聪明吗?:))。
所以 !忘记 .bat 并选择 POWERSHELL

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

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

您可以通过右键单击文件夹、安全选项,然后选择正确的身份来实现。

这是一个分步指南:

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

【讨论】:

  • 这是一个通用的 windows 链接。那里没有包含任何关于 .NET 或 powershell 的内容。
【解决方案2】:

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

\\机器\文件夹

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

【讨论】:

  • 是否有关于如何设置共享服务器的分步指南?我似乎无法让它工作。
【解决方案3】:

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

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

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

【讨论】:

    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

      你试过释放它吗?

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

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

      我以前在 .net 1.1 项目中使用过它。

      【讨论】:

        【解决方案6】:

        我想你想要:

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

        【讨论】:

          【解决方案7】:

          以上所有内容似乎都是宏大的答案 - 您可以考虑使用 msbuild 脚本和 msbuild 社区任务来完成所有这些工作 - 他们可以压缩您的构建并将其通过 ftp 传输到远程服务器。

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

          【讨论】:

            【解决方案8】:

            在这里找了这么多答案后解决了

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

            【讨论】:

              猜你喜欢
              • 2014-11-18
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2010-11-23
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多