Jump to content
Sign in to follow this  

7 zip

Recommended Posts

I tried looking for something simalar but couldnt find it. heres my simple script which uses command line 7zip to archive multiple files and folders in a directory to individual archives. It currently does it in .zip format but this can be easily changed. the .zip files would be in the same directory as the uncompressed originals.

This requires a copy of 7z.exe in the system32 windows folder and will only work for 32bit machines

#include <Process.au3>
#Include <File.au3>
#Include <Array.au3>

$folderpath = FileSelectFolder("Choose a folder.", "");choose a directory
$FileList=_FileListToArray($folderpath); array of files in directory
Dim $szDrive, $szDir, $szFName, $szExt, $i=1

ProgressOn("Multiple Zip", "0 percent", "Zipping")

    while $i<=$FileList[0]; do for all files in directory
        $TsplitPath = _PathSplit($FileList[$i], $szDrive, $szDir, $szFName, $szExt);split filename and extension
        ProgressSet( $Percent, "Zipping:" & $FileList[$i],$Percent & " percent")
        RunWait("7z a -tzip "&"""" & $folderpath & "\(Zipped)\" & $szFName & ".zip"" """  & $folderpath & "\" & $FileList[$i] & """"   , "", @SW_HIDE  );run 7zip command line
        $i+=1;next file

MsgBox(0,"Multiple ZIp","Files Ziped to:"& @CRLF & $folderpath)
Edited by Cue

Share this post

Link to post
Share on other sites

Thanks for the help. Just out of interest, do you know if _RunDos() waits for the proccess to complete anyway. because it took 12 seconds for the script to execute.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Create New...