@echo off
 setlocal

 set CmdCurRoot_DP=%~dp0
 set CmdCurRoot_DP=%CmdCurRoot_DP:~0,-1%

 SET ZipQuelle_DP=%~1
 SET ZipArchiv_DPNE=%~2
 SET ZipArchivLog_DPNE=%~2.log.txt

 SET ZipOpt=%~3

 if "%ZipQuelle_DP%"==""  goto ErrInfo
 if "%ZipArchiv_DPNE%"=="" goto ErrInfo
 goto :los

:ErrInfo
 echo.
 echo   Error in parameters 
 echo   Anleitung:
 echo   P1 = Quell Ordner (z.B. C:\Projekte\P401023)
 echo   P2 = ZipArchiv Pfad/Datei zur Zip Archiv Datei (z.B.: C:\Projekte.Archiv\P401023.Zip)
 echo.
 echo   call ..\BIN\Zip_DP.cmd C:\Projekte\P401023 C:\Projekte.Archiv\P401023.Zip
 echo.
 pause
 goto :ende

:los
 Echo   create Zip File
 Echo   SourceDP: %ZipQuelle_DP%\..
 Echo   Zipfile.: %ZipArchiv_DPNE%
 goto :los7z

:los7z
 if exist "%ZipArchiv_DPNE%" del "%ZipArchiv_DPNE%"
 PUSHD "%ZipQuelle_DP%"
 Echo   Use.....: 7z.exe
 rem http://www.dotnetperls.com/7-zip-examples
 rem call "%CmdCurRoot_DP%\7-Zip\7z.exe" a %ZipOp% -r "%ZipArchiv_DPNE%" "%ZipQuelle_DP%"
 set toRun=call "%CmdCurRoot_DP%\7-Zip\7z.exe" a -mmt8 -mx3 -tzip -r %ZipOpt% "%ZipArchiv_DPNE%" *.*
REM  set toRun=call "%CmdCurRoot_DP%\7-Zip\7z.exe" a -mmt8 -mx3 -t7z -r %ZipOpt% "%ZipArchiv_DPNE%" *.*
 set ZipOptUsesPw=
 if /i "%ZipOpt:~0,2%" equ "-p" set ZipOptUsesPw=true
 rem 07.04.2015 20:00 -mx9 removed performance
 rem 11.02.2016 19:47 -mx3 perf und size OK
 Rem -- Run pack
 %toRun%

 if exist "%ZipArchiv_DPNE%" (
 Echo   Zipfile.: Created:OK
  if defined ZipOptUsesPw (
   Echo   UsesPasW: YES
  ) else (
   Echo   UsesPasW: NO
  )
 ) else (
 Echo   Zipfile.: Created:ERR
 )
 rem zurueck in das Ausgangsverzeichniss
 POPD
 goto :ende

:losZip
 rem set default zip source dir
 PUSHD "%ZipQuelle_DP%"
 if exist "%ZipArchiv_DPNE%" del "%ZipArchiv_DPNE%"

 Echo   Use.....: Zip.exe

 "%~dp0ZIP.exe" -r -D -9 -q "%ZipArchiv_DPNE%" *.*

 if exist "%ZipArchiv_DPNE%" (
 Echo   Zipfile.: Created:OK
 ) else (
 Echo   Zipfile.: Created:ERR
 )

 rem zurueck in das Ausgangsverzeichniss
 POPD
 goto :ende

:ende
 endlocal
