RoboCopy um arquivo da Web?

1

É possível baixar um arquivo da web usando o RoboCopy? Qual seria a sintaxe para isso? Aqui está o que estou tentando:

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

O registro de erros está me dando um erro que parece indicar que o arquivo é uma pasta e também que está tentando acessar o link como uma pasta na minha máquina de localização.

-------------------------------------------------------------------------------
   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.
    
por Cory Dee 08.01.2013 / 16:40

2 respostas

3

A única maneira que posso conceber de fazer isso funcionar é se você criar um compartilhamento WebDAV, como aquele em live.sysinternals.com, e então endereçá-lo como uma pasta UNC (\\ yoursite.com \) e minidirector no serviço WebClient irá lidar com isso.

Mas isso requer uma configuração específica no servidor da Web.

Além disso, Invoke-WebRequest, se você estiver usando o PS3.

Editar: também verifique se o serviço WebClient está em execução antes de tentar acessar os compartilhamentos WebDAV na linha de comando. O Windows Explorer iniciará o serviço sob demanda, mas cmd.exe ou powershell.exe não.

    
por 08.01.2013 / 16:49
3

Não, isso não funciona. Você precisará usar algum outro método para baixar o arquivo da Internet antes de tentar e fazer o robocopy dele. Talvez uma das portas de wget ou similar atenda às suas necessidades ou você pode baixar um arquivo nativamente no PowerShell 2.0 assim:

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