RoboCopy从Web上的文件?

是否可以使用RoboCopy从网上下载文件? 那是什么语法? 这就是我想要的:

RoboCopy "http://www.google.com/" "C:\some_folder\" "index.html" /L /V /E /LOG:"C:\some_folder\test_robocopy.log" /R:10 /W:30 

错误日志给我一个错误,似乎表明该文件是一个文件夹,并且它试图击中http://www.google.com作为我的位置机器上的文件夹。

 ------------------------------------------------------------------------------- ROBOCOPY :: Robust File Copy for Windows ------------------------------------------------------------------------------- Started : Tue Jan 08 10:31:04 2013 Source : C:\some_folder\http:\www.google.com\index.html\ Dest : C:\some_folder\index.html\ Files : *.* Options : *.* /V /L /S /E /COPY:DAT /R:10 /W:30 ------------------------------------------------------------------------------ 2013/01/08 10:31:04 ERROR 123 (0x0000007B) Accessing Source Directory C:\some_folder\http:\www.google.com\index.html\ The filename, directory name, or volume label syntax is incorrect. 

我可以想象做这项工作的唯一方法是,如果您创build一个WebDAV共享,如live.sysinternals.com,然后将其作为一个UNC(\\ yoursite.com \文件夹)和在其中的小型转发器WebClient服务将处理它。

但是这需要在Web服务器上进行特定的configuration。

此外,如果您使用PS 3,则调用WebRequest。

编辑:另外请确保WebClient服务正在运行,然后尝试在命令行上访问WebDAV共享。 Windows资源pipe理器将按需启动服务,但cmd.exe或powershell.exe不会。

不,这不行。 在尝试和复制它之前,您需要使用其他方法从互联网上下载文件。 也许wget或类似的端口之一可以满足您的需求,或者您可以在PowerShell 2.0中本地下载文件,如下所示:

 $webClient = New-Object System.Net.WebClient $webURL = "http://www.google.com/index.html" $filePath = "c:\whatever\index.html" $webclient.DownloadFile($webURL,$filePath)