Autoit3. Comprime ficheros por extensión.

Pequeña aplicación escrita en Autoit3 que lee las preferencias de compresión de un fichero ini y comprime con ayuda de la aplicación gratuita 7zip los ficheros con la extensión que se especifique en el fichero ini y deja el archivo comprimido en otro directorio también especificado en el ini.

Fichero Comprime_log.ini :
[c]
[General]
DirectorioOrigen=L:\
ExtensionFicheros=*.tmp
DirectorioDestino=L:\logs_anteriores\
[/c]

Código:
[c]
;******************************************************************************
; Este script de autoit3 comprime los ficheros en un zip con extension log del
; directorio donde se ejecuta y lo mueve al directorio ./logs_anteriores
;******************************************************************************
#AutoIt3Wrapper_Res_Comment= Comprime y mueve los ficheros logs del directorio donde se ejecuta
#AutoIt3Wrapper_Res_Description=Comprime logs según archivo ini ;Description field
#AutoIt3Wrapper_Res_Fileversion=1.1.0.0 ;File Version
#AutoIt3Wrapper_Res_LegalCopyright= David Suárez ;Copyright field
#AutoIt3Wrapper_Icon = Comprime_log.ico ;Icon
#AutoIt3Wrapper_Res_Field=AutoIt Version|%AutoItVer% ;Version Compilador AutoIt
#AutoIt3Wrapper_Res_Field=Fecha|%date% %time%

$DirectorioOrigen = IniRead(@ScriptDir & “\Comprime_log.ini”, “General”, “DirectorioOrigen”, “Valor de DirectorioOrigen no encontrado en ini”)
$Tipofichero= IniRead(@ScriptDir & “\Comprime_log.ini”, “General”, “ExtensionFicheros”, “Valor de tipo de fichero no encontrado en ini”)
$DirectorioDestino = IniRead(@ScriptDir & “\Comprime_log.ini”, “General”, “DirectorioDestino”, “Valor de DirectorioDestino no encontrado en ini”)
DirCreate ($DirectorioDestino)

$Directorio= @ScriptDir & “\logs_anteriores”
$ArchivoComprimido=”logs_” & @mday & “-” & @MON & “-” & @YEAR & “_” & @HOUR & “.” & @MIN & “.” & @SEC & “.zip”
$AppBinFile = @ScriptDir & “\7z.exe”
$archivo_comando=@ScriptDir & “\logs.cmd”

$Origen= $DirectorioOrigen & $ArchivoComprimido

$Destino= $DirectorioDestino & $ArchivoComprimido

;preparo el fichero de comandos para ejecutar
if FileExists($archivo_comando) Then FileDelete($archivo_comando)
FileOpen($archivo_comando, 2 )
FileWriteLine($archivo_comando,$AppBinFile & ” a -tzip ” & $ArchivoComprimido & ” ” & @ScriptDir & “\” & $Tipofichero )
FileWriteLine($archivo_comando,”exit” )
FileClose($archivo_comando)

Sleep(5000)
;ejecuto el fichero de comando
RunWait (@ComSpec & ‘ /k ‘ & $archivo_comando)
Sleep(5000)
FileMove($Origen, $Destino)
Sleep(5000)
FileDelete ($archivo_comando)
FileDelete($DirectorioOrigen & $Tipofichero)
[/c]

Descargar los ficheros fuentes de la aplicación y la aplicación.