Unzipper.bat : Execute to unzip any sort of zip / archived file.
SETLOCAL ENABLEEXTENSIONS
setlocal enabledelayedexpansion
@ECHO OFF
:::::::::::::::::::::::::::::::::::::::::::::
:: INTERFACE SPOT : DIMENSION / COLOR / FONT
COLOR 0B
MODE con:cols=110 lines=60
TITLE SAPRUN10 - Rar and Send
::::
::
:::::::::::::::::::::::::::::::::::::::::::::
::BASIC VARIABLES
SET me=%0
SET parent=%~dp0
SET COUNTER=0
::::
::
:::::::::::::::::::::::::::::::::::::::::::::
::INITIALIZE THE DATE - SYSTEM
FOR /f "delims=" %%a IN ('wmic OS Get localdatetime ^| find "."') DO SET dt=%%a
SET YYYY=%dt:~0,4%
SET YY=%YYYY:~2,2%
SET MM=%dt:~4,2%
SET DD=%dt:~6,2%
SET HH=%dt:~8,2%
SET Min=%dt:~10,2%
SET Sec=%dt:~12,2%
SET stamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%
set FIXED=%YYYY%%MM%%DD%
SET DATEREADY=%FIXED:~2,6%
::::
::
:: Permanent folder
:: C:\stratik\EmailDrop
SET PERMAFOLDER=C:\stratik\EMAILDROP\
SET TEMPDLFOLDER=C:\stratik\EMAILDROP\CONVERTERFOLDER
SET LOGFILE = C:\stratik\EMAILDROP\LOGFILE.txt
:::::::::::::::::::::::::::::::::::::::::::::
::SCRIPT START
REM ECHO ###################################################
REM ECHO SCRIPT: %me%
REM ECHO EXECUTION DATE : %stamp%
REM ECHO PARENT DIRECTORY : %parent%
REM ECHO.
REM ECHO DESTINATION DIRECTORY 1 : %PERMADLFOLDER%
REM ECHO.
REM ECHO UPDATING RUN LOG : %LOGFILE%
REM ECHO %me% ran at %stamp% >> %LOGFILE%
REM ECHO.
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: ::
:: CHECKS SECTION ::
:: ::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
ECHO.
ECHO ###################################################
ECHO RUNNING CHECKS ....
ECHO.
ECHO CHECKING FOR EXISTENCE OF TARGET DRIVE : %PERMAFOLDER%
REM IF NOT EXIST %PERMAFOLDER% (
REM CALL:error10 "303" "UNABLE TO LOCATE SOURCE DRIVE %PERMAFOLDER% "
REM CALL:ERRORNOTIFYMAIL "UNABLE TO LOCATE ORIGIN DRIVE" "FATAL" "CHECK EXISTENCE OF ORIGIN DRIVE"
REM GOTO EOF
REM ) ELSE (
REM ECHO SOURCE DRIVE %sourcedrive% LOCATED SUCCESFULLY
REM )
REM ECHO.
::::
::
:: Change directory to the permanent folder
::CD %PERMAFOLDER%
:: for each file *.ZIP in permanent folder
:: UNZIP
FOR %%i in (*.zip) DO (
echo File to be unzipped: %%i
echo File to be unzipped without extension: %%~ni
::PKUNZIP %%i
FOR %%j in (*.dat) DO (
ECHO Filename inside zip file: %%j
SET FNAME=%%i
ECHO !FNAME!
ECHO %%i
ECHO %%~ni
ECHO %%j
SET str=!FNAME:~0,8!
ECHO !str!
SET FILE=!str!.%%j
ECHO NEW FILE NAME: !FILE!
MOVE %%j !FILE!
)
::PKUNZIP %%i %%~ni
echo %%~ni %PERMAFOLDER%%%~ni.TXT
)
GOTO EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: ERROR HANDLING
:error10
SETLOCAL
SET Line=%~1
SET Msg=%2
ECHO.
ECHO ATTENTION : FATAL ERROR : %Msg% ON LINE %Line%
ECHO TERMINATING SCRIPT
echo X=MsgBox( %Msg% ,0+16,"FATAL ERROR ON LINE %Line%") >msg.vbs
wscript msg.vbs
echo %Msg% ::::: Line : %Line% > %LASTRUNLOG%
REM ::GOTO ERRORNOTIFYMAIL
EXIT /b
:notify10
SETLOCAL
SET Line=%~1
SET Msg=%2
ECHO %Msg%
echo X=MsgBox( %Msg% ,0+64,"NOTIFICATION ON LINE %Line%") >msg.vbs
wscript msg.vbs
EXIT /b
:PrintFirstNLine
set cur=0
for /f "delims==" %%I in (%dirdir%TEMP2.txt) do (
echo %%I
::echo !cur! : %%I
set /a cur=cur+1
if "!cur!"=="%LINES%" goto AFTER
REM IF "%cur%"=="%LINES%" goto AFTER
)
EXIT /b
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: EMAIL AREA
REM :SUCCESSNOTIFYMAIL
REM SET Type=%~1
REM ECHO.
REM ECHO REPORT : Script Success.
REM wscript %maildir%\mailnotifysuccess.vbs "%Type%" "%YYBTCHINFO%"
REM DEL %dir%\msg.vbs
REM EXIT /B
:SUCCESSNOTIFYMAIL
ECHO.
wscript %maildir%\mailnotifysuccess.vbs
EXIT /b
:ERRORNOTIFYMAIL
SET Type=%~1
SET Errordesc=%~2
SET section=%~3
ECHO.
ECHO REPORT : Script Error : Mailing Controllers :
wscript %maildir%\mailnotifyerror.vbs "%DATEEAFILE%" "%Type%" "%Errordesc%" "%section%"
DEL %dir%\msg.vbs
DEL %CPSLOGAR%
DEL %CPSAPTEK%
DEL %DELCONVE%
DEL %DELPORTR%
DEL %DELLANDS%
DEL %dirdir%TEMP*.txt
DEL %dirdir%\msg.vbs
EXIT /B
:EOF