Цитата avolkov2009:
Про утилитку wget слыхали? Может помочь »
|
тогда уж лучше
curl, по крайней мере для этих задач
Цитата volk1234:
Ну если нельзя без доп утилит, то вопрос снимаю »
|
штатно можно через
VBS, который вызвать из
CMD:
Script.CMD
Код:
@Echo Off
Set ROOT=C:\TEST
Set KBFile1=autoit-v3.2.12.1-sfx.exe
Set KB_Url1=http://www.autoitscript.com/autoit3/files/archive/autoit/autoit-v3.2.12.1-sfx.exe
Set KBFile2=autoit-docs-v3.3.1.4-src.exe
Set KB_Url2=http://www.autoitscript.com/autoit3/files/beta/autoit/autoit-docs-v3.3.1.4-src.exe
Call :KB_TEST "%KBFile1%" "%KB_Url1%"
Call :KB_TEST "%KBFile2%" "%KB_Url2%"
Echo.
PAUSE
EXIT
:KB_TEST
<Nul Set /P $_X="%~1..."
If Exist "%ROOT%\%~1" Echo Ok& Exit /B
<Nul Set /P $_X=Loading
CScript //NoLogo "%~dpn0.vbs" "%ROOT%\%~1" "%~2"
Set ERR=%ErrorLevel%
<Nul Set /P $_X=
If %ERR% EQU 0 (Echo Ok ) Else Echo ERROR
Exit /B
Script.VBS
Код:
If Wscript.Arguments.Count=2 Then
WScript.Quit(HTTPFileGet(Wscript.arguments.Item(1), Wscript.arguments.Item(0)))
Else
WScript.Quit(1)
End If
Function HTTPFileGet(strFileURL, strFileSave)
Dim objXMLHTTP, objADOStream, objFSO
HTTPFileGet = 1
Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
Set objADOStream = CreateObject("ADODB.Stream")
Set objFSO = Createobject("Scripting.FileSystemObject")
objXMLHTTP.Open "GET", strFileURL, False
objXMLHTTP.Send()
If objXMLHTTP.Status = 200 Then
objADOStream.Open
objADOStream.Type = 1
objADOStream.Write objXMLHTTP.ResponseBody
objADOStream.Position = 0
If objFSO.FileExists(strFileSave) Then objFSO.DeleteFile strFileSave
objADOStream.SaveToFile strFileSave
objADOStream.Close
HTTPFileGet = 0
End If
End Function
P.S. файла для примера взяты от балды, для работы треба XP SP2