代码之家  ›  专栏  ›  技术社区  ›  Mick

我可以从脚本或命令行将文件复制到网络位置吗?[关闭]

  •  11
  • Mick  · 技术社区  · 18 年前

    在Windows XP中,是否可以从命令行、批处理文件或甚至更好的PowerShell脚本将文件复制到网络位置?

    让我走上这条研究之路的是试图从用户的机器将文件发布到WSS3.0文档库。我无法将驱动器映射到有问题的库,因为WSS站点只能通过80或443以外的端口上的NTLM进行身份验证。我想我可以交替使用WSS Web服务将文件推出,但现在我真的很好奇这个问题的答案。

    9 回复  |  直到 14 年前
        1
  •  19
  •   seanyboy    18 年前

    使用批处理文件,您可以登录到资源并复制该文件:

    批处理文件将包含以下内容:

    net use \\{dest-machine}\{destfolder} {password} /user:{username}
    copy {file} \\{dest-machine}\{destfolder}
    

    例如

    net use \\Development\myfolder mypassword /user:Administrator
    copy newfile.c \\development\myfolder
    
        2
  •  6
  •   ManuPK    14 年前

    如果你指的是 windows box 只是使用 xcopy . 这是相当标准的 复印件 可用。

    xcopy src \\dest-machine\shared-library-name\dest
    xcopy \\src-machine\shared-library-name\dest src
    
        3
  •  3
  •   slipsec    18 年前

    PowerShell使用提供程序的抽象来向数据存储提供公共接口。这些似乎与常用名词“item”一致,因此您可以获得 man *item* . 如果您知道从存储中复制和使用数据的另一种方法,您也可以使用它,但是使用Cmdlet提供了更好的“一次学习,经常使用”方法。在您的情况下,您可以:

    Copy-Item test.txt -Destination \\dest-machine\share
    

    如果需要,复制项还支持-credential参数。

        4
  •  2
  •   Jaykul    17 年前

    “Network Places”没有真正的API,它只是一堆快捷方式,如果我能正确调用,SharePoint共享使用外壳扩展。

    所有这些都可以说:从PowerShell以文件系统的形式访问SharePoint 需要扩展名, SharePoint Provider .

        5
  •  1
  •   Nathan Fellman    18 年前

    您可以使用'net'命令进行身份验证,然后复制文件。

    copy src \\dest-machine\shared-library-name\dest
    

    我不是 真的? 如果需要的话,可以确定如何处理身份验证。

        6
  •  1
  •   Mick    18 年前

    从我所看到的,似乎不可能从命令行直接访问/操作一个网络位置,无论是在PowerShell中还是在普通的ol命令提示符中。

    @滑差(13899): 感谢您的建议,但PowerShell不支持目标路径中的端口号,而支持 net use 命令确实如此。

    因此,在我的特定情况下,我能想到的最好的办法就是咬紧牙关,购买WebDrive之类的东西,以便在非标准端口上通过WebDAV进行驱动器映射,或者在SharePoint中执行一些不同的配置(例如,具有不同IP地址和主机头的单独Web应用程序),以便在标准端口上通过NTLM公开站点。

        7
  •  0
  •   Iain Holder    18 年前

    如果你需要编写脚本,你应该考虑 NAnt .

    它主要用于构建脚本,但是它非常强大,并且相当容易入门。

    还有 NAntContrib 以及 nant ftp task 这对你有帮助。

        8
  •  0
  •   Mick    18 年前

    我可能错了,但我认为尼克的机器人解决方案和内森的复制命令解决方案都不起作用。Robocopy似乎想要一个映射驱动器,我做不到这一点,因为它没有在端口80或443上运行,而且Windows无法处理以UNC样式名包含端口的路径:

    copy src \\dest-machine:45000\shared-library-name\dest
    

    我也没有看到一个能处理这种情况的南特任务。

    我还知道有一些工具可以让我映射WebDAV驱动器。我更想知道是否有某种方法可以利用那些不使用图形用户界面而设置的网络位置。

        9
  •  -1
  •   Nick Berardi    18 年前

    是的,你可以。我建议使用像Robocopy这样的工具。

    推荐文章