我可以从脚本或命令行将文件复制到网上邻居吗? [关闭]

Posted

技术标签:

【中文标题】我可以从脚本或命令行将文件复制到网上邻居吗? [关闭]【英文标题】:Can I copy files to a Network Place from a script or the command line? [closed] 【发布时间】:2010-09-05 20:03:24 【问题描述】:

在 Windows XP 中,是否可以通过命令行、批处理文件或更好的 PowerShell 脚本将文件复制到网上邻居?

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

【问题讨论】:

在这里也可以看到类似的问题:serverfault.com/q/43116/84502 【参考方案1】:

使用批处理文件,既可以登录资源,也可以复制文件:

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

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】:

如果您指的是windows box,只需使用xcopyxcopy 可用是相当标准的。

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

【讨论】:

【参考方案3】:

Powershell 使用 Provider 的抽象来为数据存储提供一个通用接口。这些似乎与常用名词“Item”保持一致,因此您可以使用man *item* 获得完整列表。如果您知道另一种方法来复制和以其他方式处理存储中的数据,您不妨使用它,但使用 cmdlet 提供了一种更好的“一次学习,经常使用”的方法。在您的情况下,您可以:

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

如果需要,复制项也支持 -Credential 参数。

【讨论】:

Copy-Item 有一个 -Credential 参数,但是没有一个标准提供者(即文件系统)支持它,所以它不是真的可用。【参考方案4】:

“网上邻居”并没有真正的 API,它只是一堆快捷方式,如果我没记错的话,SharePoint 共享使用 Shell 扩展。

总而言之:从 PowerShell 访问 Sharepoint 作为文件系统需要扩展名,SharePoint Provider。

【讨论】:

【参考方案5】:

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

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

真的不确定如果需要,如何处理身份验证。

【讨论】:

【参考方案6】:

从我所见,似乎无法从命令行直接访问/操作网上邻居,无论是在 PowerShell 中还是在普通的 ol' 命令提示符中。

@slipsec (#13899): 感谢您的建议,但 PowerShell 不支持目标路径中的端口号,而不是 net use 命令。

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

【讨论】:

【参考方案7】:

我可能错了,但我认为 Nick 的 robocopy 解决方案或 Nathan 的复制命令解决方案都行不通。 Robocopy 似乎想要一个映射驱动器,我不能这样做,因为它没有在端口 80 或 443 上运行,而且 Windows 无法处理包含 UNC 样式名称中的端口的路径:

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

我也没有看到可以处理这种情况的 NAnt 任务。

我还知道有一些工具可以让我映射 WebDAV 驱动器。我更想知道是否有某种方法可以在不使用 GUI 的情况下使用已设置的网上邻居。

【讨论】:

【参考方案8】:

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

它主要用于构建脚本,但它非常强大且相当容易上手。

还有NAntContrib 和nant ftp task 应该可以帮助您。

【讨论】:

【参考方案9】:

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

【讨论】:

以上是关于我可以从脚本或命令行将文件复制到网上邻居吗? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 VLC 或 FFMPEG 命令行将外部音轨添加到视频文件

如何使用 Node JS 或命令行将图像从服务器复制到本地

如何使用命令行将“其他链接器标志”添加到 xcode 项目?

尝试使用命令行将文件复制到某些子文件夹

如何让 python 脚本作为可执行文件运行? [复制]

从命令行将 vc++6 项目升级到 vc++ 2008