How to create a .BAT file to download and unzip a zip file?

How to create a .BAT file for downloading and unpacking a zip file from an HTTP server?

We have links like http://example.com/folder.zip and an absolute link to a folder, for example C:\Users\UserName\Some mixed English Adress\

if files from zip exist in the owerrite directory.

using only native windows (xp vista win7, etc.). Functions and BAT files.

Could you add some sample code.

+4
source share
5 answers

Try this hybrid bat / vbs script

 @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 
+3
source

If you really want to use the bat file, you can see: http://www.chami.com/tips/windows/062598W.html

The batch file will use the command line tools: URL2File

EDIT: your batch file should look something like this (for this you need to install pkunzip or another cmd-line tool (7-zip fe))

 @echo off c: cd\files URL2File http://www.server.com/file1.zip file1.zip for %%f in (file1.zip) do pkunzip %%fc:\user\unziped_files\%%f\ 
+2
source

You can use curl to upload files.

manual contains some examples

+1
source

Since Windows 7 includes Powershell IMHO, you can use this powershell script: http://bwain-dump.blogspot.com/2009/01/powershell-script-to-unzip-many-files.html

If not powershell, then, I think, there is no own way to do this. You can use the zip utility, which provides a command line, for example, 7-zip

+1
source

download_and_unzip.bat:

 powershell -command "Start-BitsTransfer -Source http://example.com/folder.zip -Destination folder.zip" powershell -command "Expand-Archive folder.zip folder/to/extract" 

Download folder.zip to the current folder.zip (or whatever else should exist). Extract folder.zip to folder/to/extract (created automatically).

0
source

Source: https://habr.com/ru/post/1310401/


All Articles