Can I copy files to a Network Place from a script

2019-02-06 14:25发布

Is it possible, in Windows XP, to copy files to a Network Place from the command line, a batch file or, even better, a PowerShell script?

What sent me down this road of research was trying to publish files to a WSS 3.0 document library from a user's machine. I can't map a drive to the library in question because the WSS site is only available to authenticate via NTLM on a port other than 80 or 443. I suppose I could alternately use the WSS web services to push the files out, but I'm really curious about the answer to this question now.

9条回答
甜甜的少女心
2楼-- · 2019-02-06 14:54

From what I'm seeing, it seems that it's not possible to directly access/ manipulate a Network Place from the command line, be it in PowerShell or the plain ol' command prompt.

@slipsec (#13899): Thanks for the suggestion, but PowerShell doesn't support the port number in the destination path any more than the net use command does.

So the best thing I can figure to do in my particular situation is bite the bullet and buy something like WebDrive to enable drive mapping via WebDAV on non-standard ports, or do some different configuration (e.g. separate web app with a different IP address and host headers) in SharePoint to expose the site via NTLM on a standard port.

查看更多
我只想做你的唯一
3楼-- · 2019-02-06 14:54

I could be wrong about this, but I think that neither Nick's robocopy solution or Nathan's copy command solution will work. Robocopy seems to want a mapped drive, which I can't do because it's not running on port 80 or 443, and Windows can't handle a path that includes the port in a UNC-style name:

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

I didn't see a NAnt task that would handle this situation, either.

I also know there are tools that will allow me to map WebDAV drives. I was more wondering if there was some way to make use of the Network Places that have been set up without using the GUI.

查看更多
家丑人穷心不美
4楼-- · 2019-02-06 14:57

Using a batch file, you can both log on to the resource and copy the file:

The Batch File would contain the following:

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

e.g.

net use \\Development\myfolder mypassword /user:Administrator
copy newfile.c \\development\myfolder
查看更多
ら.Afraid
5楼-- · 2019-02-06 14:57

If you are referring to a windows box, just use xcopy. It is pretty standard to have xcopy available.

xcopy src \\dest-machine\shared-library-name\dest
xcopy \\src-machine\shared-library-name\dest src
查看更多
爷、活的狠高调
6楼-- · 2019-02-06 14:58

If it's something you need to script, you should consider NAnt.

It's a mainly used for build scripts, but it's very powerful and reasonably easy to get started with.

There's also NAntContrib and the nant ftp task which should help you out.

查看更多
倾城 Initia
7楼-- · 2019-02-06 15:03

"Network Places" doesn't really have an API, it's just a bunch of shortcuts, and the SharePoint share uses a Shell Extension, if I recall correctly.

All of that to say: accessing Sharepoint as a file system from PowerShell also requires an extension, the SharePoint Provider.

查看更多
登录 后发表回答