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.
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.
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:
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.
Using a batch file, you can both log on to the resource and copy the file:
The Batch File would contain the following:
e.g.
If you are referring to a
windows box
, just usexcopy
. It is pretty standard to havexcopy
available.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.
"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.