Как создать.BAT файл, чтобы загрузить и распаковать zip-файл с сервера HTTP?
У нас есть ссылки как http://example.com/folder.zip
и абсолютная папка связывается как C:\Users\UserName\Some mixed Русский English Adress\
если файлы от zip существуют в каталоге owerrite их.
использование только собственных окон (xp перспектива win7 и т.д.) функции BAT и файлы.
Вы могли добавить пример кода.
Попробуйте этот гибридный bat/vbs скрипт
@echo off
> %temp%\~tmp.vbs echo sUrl = "http://www.unicontsoft.com/file.zip"
>> %temp%\~tmp.vbs echo sFolder = "c:\temp\unzip"
>> %temp%\~tmp.vbs (findstr "'--VBS" "%0" | findstr /v "findstr")
cscript //nologo %temp%\~tmp.vbs
del /q %temp%\~tmp.vbs
goto :eof
'--- figure out temp file & folder
With CreateObject("WScript.Shell") '--VBS
sTempFile = .Environment("Process").Item("TEMP") & "\file.zip" '--VBS
sTempFolder = .Environment("Process").Item("TEMP") & "\file.zip.extracted" '--VBS
End With '--VBS
'--- download
WiTh CreateObject("MSXML2.XMLHTTP") '--VBS
.Open "GET", sUrl, false '--VBS
.Send() '--VBS
If .Status = 200 Then '--VBS
ResponseBody = .ResponseBody '--VBS
With Createobject("Scripting.FileSystemObject") '--VBS
If .FileExists(sTempFile) Then '--VBS
.DeleteFile sTempFile '--VBS
End If '--VBS
End With '--VBS
With CreateObject("ADODB.Stream") '--VBS
.Open '--VBS
.Type = 1 ' adTypeBinary '--VBS
.Write ResponseBody '--VBS
.Position = 0 '--VBS
.SaveToFile sTempFile '--VBS
End With '--VBS
End If '--VBS
End With '--VBS
'--- extract
With CreateObject("Scripting.FileSystemObject") '--VBS
On Error Resume Next '--VBS
.CreateFolder sFolder '--VBS
.DeleteFolder sTempFolder, True '--VBS
.CreateFolder sTempFolder '--VBS
On Error GoTo 0 '--VBS
With CreateObject("Shell.Application") '--VBS
.NameSpace(sTempFolder).CopyHere .NameSpace(sTempFile).Items '--VBS
End With '--VBS
.CopyFolder sTempFolder, sFolder, True '--VBS
.DeleteFolder sTempFile, True '--VBS
.DeleteFile sTempFile, True '--VBS
End With '--VBS
Если вы действительно хотите использовать bat-файл, вы можете взглянуть на: http://www.chami.com/tips/windows/062598W.html
Пакетный файл будет использовать инструменты командной строки под названием: URL2File
РЕДАКТИРОВАТЬ: Ваш командный файл должен выглядеть примерно так (для этого необходимо установить pkunzip или другой инструмент командной строки (7-zip fe))
@echo off
c:
cd\files
URL2File http://www.server.com/file1.zip file1.zip
for %%f in (file1.zip) do pkunzip %%f c:\user\unziped_files\%%f\
Поскольку Windows 7 включает Powershell IMHO, вы можете использовать этот powershell скрипт: http://bwain-dump.blogspot.com/2009/01/powershell-script-to-unzip-many-files.html
Если это не powershell, то, я думаю, не существует собственного способа сделать это. Вы можете воспользоваться утилитой zip, которая предоставляет командную строку, например, 7-zip