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

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

有帮助吗?

解决方案 6

从我所看到的来看,似乎不可能从命令行直接访问/操作网上邻居,无论是在 PowerShell 还是普通的命令提示符中。

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

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

其他提示

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

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

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

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

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

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

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

如果需要,Copy-item 还支持 -Credential 参数。

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

所有这一切都是为了说:从 PowerShell 访问 Sharepoint 作为文件系统 需要扩展,则 SharePoint 提供商.

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

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

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

如果您需要编写脚本,您应该考虑 南安特.

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

还有 NAntContribNant FTP 任务 这应该可以帮助你。

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

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

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top