Можно ли загрузить файл из Интернета с помощью 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.
Нет, не работает. Вам нужно будет использовать другой метод для загрузки файла из Интернета, прежде чем вы попытаетесь его скопировать. Возможно, один из портов 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)
Единственный способ, которым я могу представить себе эту работу, - это создание общего ресурса WebDAV, например, на live.sysinternals.com, а затем адресация его как UNC (\\ yoursite.com \ папка) и минидиректора в Сервис WebClient справится с этим.
Но для этого требуется определенная конфигурация на веб-сервере.
Кроме того, Invoke-WebRequest, если вы используете PS 3.
Изменить: также убедитесь, что служба WebClient запущена, прежде чем пытаться получить доступ к общим ресурсам WebDAV из командной строки. Проводник Windows запустит службу по запросу, но cmd.exe или powershell.exe - нет.