我可以通过脚本或命令行将文件复制到网络位置吗?
在Windows XP中,是否可以通过命令行,批处理文件或更好的PowerShell脚本将文件复制到网络位置?我可以通过脚本或命令行将文件复制到网络位置吗?
这条研究之路让我感到失望的是试图将文件发布到用户机器的WSS 3.0文档库中。我无法将驱动器映射到有问题的库,因为WSS站点只能通过非80或443端口上的NTLM进行身份验证。我想我可以交替使用WSS Web服务将文件推送出去,但是我我现在真的很好奇这个问题的答案。
从我所看到的,似乎是不可能直接访问/命令行操作网上邻居,无论是在PowerShell中或纯醇”命令提示符。
@slipsec(#13899): 感谢您的建议,但PowerShell不支持在目标路径的任何比net use
命令更确实的端口号。
因此,在我的特殊情况下,我可以做的最好的事情就是咬紧牙关,购买类似WebDrive的驱动器,以便通过非标准端口上的WebDAV进行驱动器映射,或者执行一些不同的配置(例如,不同的IP地址和主机头)在SharePoint中通过标准端口上的NTLM公开该网站。
是的,你可以。我建议使用像robocopy这样的工具。
您可以使用'net'命令进行身份验证,然后复制这些文件。
copy src \\dest-machine\shared-library-name\dest
我不是真的肯定究竟如何,如果它需要处理身份验证。
我可能是错的,但我认为Nick的robocopy解决方案或Nathan的复制命令解决方案都不会起作用。的Robocopy似乎想映射驱动器,我不能这样做,因为它没有在端口80或443上运行,而Windows无法处理,其中包括在UNC-style名称端口的路径:
copy src \\dest-machine:45000\shared-library-name\dest
我也没有看到NAnt的任务可以处理这种情况。
我也知道有一些工具可以让我映射WebDAV驱动器。我更想知道是否有某种方式可以利用已经设置的网络位置而不使用GUI。
Powershell使用提供者的抽象来为数据存储提供通用接口。这些似乎坚持与普通名词“项目”,所以你可以得到一个完整的列表man *item*
。如果您知道另一种复制方式并以其他方式处理来自商店的数据,那么您可以使用它,但使用cmdlet可提供更好的“一次学习,常用”方法。在你的情况下,你可以:
Copy-Item test.txt -Destination \\dest-machine\share
复制项目也支持-Credential参数,如果你需要它。
复制-项目有-Credential参数,但没有一个标准的供应商(即文件系统)的支持,所以这不是真的可用。 – chills42 2011-03-23 17:09:26
使用批处理文件,你既可以登录到资源和复制文件:
批处理文件将包含以下内容:
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
“网络位置”实际上没有API,只是一堆快捷方式,如果我正确记得,SharePoint共享使用外壳扩展。
所有这一切都说:从PowerShell访问Sharepoint作为文件系统也需要扩展,SharePoint Provider。
如果您所指的是windows box
,请使用xcopy
。有xcopy
可用,这是相当标准的。
也是在这里看到类似的问题:http://serverfault.com/q/43116/84502 – Synox 2012-04-16 15:46:36