Jump to content
Sign in to follow this  
StOngeCompany

Zipping Files Using Variables

Recommended Posts

StOngeCompany

Hi AutoIT Forums,

I'm trying to write a script that will scan a directory for .accdb files and zip them. Here is what I have:

$directory = InputBox ("Directory", "Please enter the directory.")
$scan = FileFindFirstFile($directory & "\" & "*.accdb")
If $scan = -1 Then
    MsgBox(0, "Error", "There are no databases in that directory.")
    Exit
EndIf
While 1
   Local $file = FileFindNextFile($scan)
   If @error Then ExitLoop
   RunWait('Winzip32.exe -a "'$directory & "\" & $file'" "'$directory & "\" & $file'"')
  
  WEnd
FileClose($scan)

The script is able to locate all of the .accdb files in a given directory, I'm just stuck on how I can get the RunWait command to recognize variables.

For example, this code works:

RunWait('Winzip32.exe -a "C:\Users\dberndt\Desktop\Test\Database1.zip" "C:\Users\dberndt\Desktop\Test\Database1.accdb"')

But this does not:

RunWait('Winzip32.exe -a "'$directory & "\" & $file'" "'$directory & "\" & $file'"')

Any help would be very much appreciated. Thank you in advance for your time and kindness.

Share this post


Link to post
Share on other sites
water

Give this a try:

RunWait('Winzip32.exe -a "' & $directory & '' & $file & '" "' & $directory & '' & $file & '"')


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (2018-06-01 - Version 1.4.9.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2018-09-01 - Version 1.3.4.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Share this post


Link to post
Share on other sites
StOngeCompany

Thank you very much, water, it appears that syntax is correct. However, I have one more hurdle to jump. When I run the script, I get an error from WinZip:

Cannot open file: it does not appear to be a valid archive.

I think I need to differentiate between the .zip and the .accdb. I tried the following code with no luck:

RunWait('Winzip32.exe -a "' & $directory & '' & $file & '.accdb' '" "' & $directory & '' & $file & '.zip' '"')

If anyone has any suggestions, I'd be very grateful.

Share this post


Link to post
Share on other sites
water

FielFindNextFile returns a filename including extension e.g. test.accdb.

You need to strip off the filename and then can add ".zip" to it.


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (2018-06-01 - Version 1.4.9.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2018-09-01 - Version 1.3.4.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

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  

×