.K argument
FailAt 776
;$VER: archiver.bat 1.422aß 12:49:31 30.Juli.1997 a D
;%start vorlauf
If NOT EXISTS <argument$keinargument> >NIL:
  Skip MENU
EndIf
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Set FENSTER          "CON:437/196/189/065";;Das Ausgabefenster
Set ICON             "icon";               ;Vorgabe-Piktogramm
Set PACKERSUFFIX     "lzx";                ;Suffix und
Set PACKER           "c:lzx -r -axeF a";   ;Packer mit Optionen zum Packen
Set PACKERUPD        "c:lzx -r -axeF u";   ;bzw. Updaten
CD <argument> >NIL:
If NOT FAIL
  CD / >nil:
  If FAIL
    Skip DEVICEPACKEN
  EndIf
  Skip VERZEICHNISPACKEN
EndIf
List TO ENV:SUFFIX<$$> <argument> LFORMAT="%E"
If "$SUFFIX<$$>" EQ  "lzx";                ;Erkennungs-Suffix und
  Set PACKER<$$>     "c:lzx -raxeF x";      ;Pfad des 1. Entpackers
  Skip ENTPACKEN
Endif
If "$SUFFIX<$$>" EQ  "lha";                ;Erkennungs-Suffix und
  Set PACKER<$$>     "c:lha -raxeF x";      ;Pfad des 2. Entpackers
  Skip ENTPACKEN
Endif
If "$SUFFIX<$$>" EQ  "lzh";                ;Erkennungs-Suffix und
  Set PACKER<$$>     "c:lha -raxeF x";      ;Pfad des 3. Entpackers
  Skip ENTPACKEN
Endif
If "$SUFFIX<$$>" EQ dms
  Set PACKER<$$>     "c:dms";               ;Pfad vom Programm DMS
  Set DEVICE         "FF0:";                ;Vorgegebenes device
  Set MODUS<$$> dmsentpacken
  Skip ENTPACKEN
EndIf
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Skip DATEIPACKEN
;%end
;%start "entpacken"
Lab entpacken
;DMS-entpacken:
If $MODUS<$$> EQ "dmsentpacken"
  Delete ENV:MODUS<$$> QUIET
  List TO ENV:FILE<$$> <argument> LFORMAT="%S"
  Assign $device EXISTS
  If WARN
    RequestChoice >ENV:DESTINATION<$$> TITLE="DMS-Datei entpacken" BODY="Soll *"$FILE<$$>*" nach DF0: entpackt*nwerden? Das zweite device ist nicht*nangemeldet. (Einstellungen prüfen.)" GADGETS="Fortfahren...|Abbruch"
  else
    RequestChoice >ENV:DESTINATION<$$> TITLE="DMS-Datei entpacken" BODY="Bitte device auswählen, wohin*n*"$FILE<$$>*"*nentpackt werden soll" GADGETS="DF0:|$DEVICE|Abbruch"
  EndIf
  If $DESTINATION<$$> EQ 0
    Skip QUIT
  EndIF
  If $DESTINATION<$$> EQ 1
    Set DESTINATION<$$> DF0:
  else
    Set DESTINATION<$$> $DEVICE
  EndIf
  $PACKER<$$> WRITE <argument> TO $DESTINATION<$$> >"$FENSTER/Entpacke $FILE<$$> nach $DEST<$$>/CLOSE/ALT437/196/189/177/INACTIVE"
  If WARN
    RequestChoice TITLE="archiver.bat" BODY="Fehler beim Entpacken von*n$FILE<$$>*nOder Abbruch durch User." GADGETS="Ok"
  EndIf
  Skip QUIT
EndIf

;Andere entpacken:
List TO ENV:FILE<$$> <argument> LFORMAT="%S"
List TO ENV:PATH<$$> `Which <argument>` LFORMAT="%P"
RequestFile >ENV:DESTINATION<$$> DRAWERSONLY TITLE="Wohin soll *"$FILE<$$>*" entpackt werden?" DRAWER="$PATH<$$>" POSITIVE="Entpacken"
If WARN
  Skip QUIT
EndIf
CD $PATH<$$>
$PACKER<$$> $FILE<$$> $DESTINATION<$$> >"$FENSTER/Entpacke $FILE<$$> nach $DESTINATION<$$>.../CLOSE/ALT437/196/189/177/INACTIVE"
If WARN
  RequestChoice TITLE="archiver.bat" BODY="Fehler beim Entpacken von*n$FILE<$$>*nOder Abbruch durch User." GADGETS="Ok"
    Delete $DESTINATION<$$> >NIL:
  EndIf
EndIf
Skip QUIT
;%end
%start packen
Lab verzeichnispacken
Echo ><argument>.x "platzfuller"
List >ENV:PATH<$$> `Which <argument>.x` LFORMAT="%P"
List >ENV:FILE<$$> <argument>.x LFORMAT="%M"
Delete <argument>.x QUIET
RequestFile >ENV:DESTINATION<$$> PATTERN="#?.$PACKERSUFFIX" TITLE="Bitte Ziel-Archiv aussuchen" DRAWER="$PATH<$$>" POSITIVE="Reinpacken" FILE="$FILE<$$>.$PACKERSUFFIX"
If WARN
  Skip QUIT
Endif
CD $PATH<$$>
Makedir temp<$$>
Rename $FILE<$$> temp<$$>/      QUIET
Rename $FILE<$$>.info temp<$$>/ QUIET
  CD temp<$$>
  If EXISTS $DESTINATION<$$>
    Set PACKER $PACKERUPD
  EndIf
  $PACKER $DESTINATION<$$> #? >"$FENSTER/Packe $FILE<$$>.../CLOSE/ALT437/196/189/177/INACTIVE"
  If WARN
    If `RequestChoice TITLE="archiver.bat" BODY="Fehler beim Packen von*n$PATH<$$>*nOder Abbruch durch User." GADGETS="Archiv löschen|Ok"` eq "1"
      Delete $DESTINATION<$$> >NIL:
    EndIf
  EndIf
  CD /
Rename temp<$$>/$FILE<$$> ""      QUIET
Rename temp<$$>/$FILE<$$>.info "" QUIET
Delete temp<$$>                   QUIET
If EXISTS $ICON
  Copy $ICON $DESTINATION<$$>.info
EndIf
Skip QUIT

Lab devicepacken
Echo >T:x ".K arg*n.BRA {*n.KET :*nSetENV FILE<$$> {arg$<argument>"
Execute T:x
Delete T:x QUIET
RequestFile >ENV:DESTINATION<$$> PATTERN="#?.$PACKERSUFFIX" TITLE="Bitte Ziel-Archiv aussuchen" DRAWER="sys:" POSITIVE="Reinpacken" FILE="$FILE<$$>.$PACKERSUFFIX"
If WARN
  Skip QUIT
EndIf
If EXISTS $DESTINATION<$$>
  Set PACKER $PACKERUPD
EndIf
$PACKER $DESTINATION<$$> #? >"$FENSTER/Packe <argument>.../CLOSE/ALT437/196/189/177/INACTIVE"
If WARN
  If `RequestChoice TITLE="archiver.bat" BODY="Fehler beim Packen von*n$FILE<$$>:*nOder Abbruch durch User." GADGETS="Archiv löschen|Ok"` eq "1"
    Delete $DESTINATION<$$> >NIL:
  EndIf
EndIf
Skip QUIT

Lab dateipacken
List TO ENV:FILE<$$> <argument> LFORMAT="%S.$PACKERSUFFIX"
List TO ENV:PATH<$$> <argument> LFORMAT="%P"
RequestFile >ENV:DESTINATION<$$> PATTERN="(#?.$PACKERSUFFIX)" TITLE="Bitte Ziel-Archiv aussuchen" DRAWER="$PATH<$$>" POSITIVE="Reinpacken" FILE="$FILE<$$>"
If WARN
  Skip quit
EndIf
List TO ENV:PATH<$$> `Which <argument>` LFORMAT="%P"
List TO ENV:FILE<$$> <argument> LFORMAT="%S"
CD $PATH<$$>
If EXISTS $FILE<$$>.info
  Set INFO<$$> $FILE<$$>.info
else
  Set INFO<$$> ""
EndIf
If EXISTS $DESTINATION<$$>
  Set PACKER $PACKERUPD
EndIf
$PACKER $DESTINATION<$$> $INFO<$$> >"$FENSTER/Packe $FILE<$$>.../CLOSE/ALT437/196/189/177/INACTIVE"
If WARN
  If `RequestChoice TITLE="archiver.bat" BODY="Fehler beim Packen von*n$PATH<$$>*nOder Abbruch durch Benutzer." GADGETS="Archiv löschen|Ok"` eq "1"
    Delete $DESTINATION<$$> >NIL:
  EndIf
EndIf
If EXISTS $ICON
  Copy $ICON $DESTINATION<$$>.info
EndIf
Skip QUIT
;%end
;%start "menu"
lab menu
Eval `avail total` / 100000 >env:kb<$$>
Eval $kb<$$>/10 >env:mb<$$>
Eval $kb<$$> - `eval $kb<$$>/10`0 >env:skb<$$>
RequestChoice TITLE="archiver.bat 1.422aß" BODY="archiver.bat © 1994-97 by Timo Stamm*nAktuelle Prozeßnummer ist <$$>*n$mb<$$>.$skb<$$> mb freier Speicher*n`version`" GADGETS="Ok" >ENV:MENUARGS<$$>
Delete ENV:kb<$$> ENV:mb<$$> ENV:skb<$$> QUIET
If $MENUARGS<$$> EQ 0
  Skip QUIT
EndIf
Skip menu BACK
;%end
Lab QUIT
Delete ENV:FENSTER ENV:ICON ENV:MEM<$$> ENV:SUFFIX<$$> ENV:destination<$$> ENV:path<$$> ENV:FILE<$$> ENV:PACKER<$$> ENV:PACKERSUFFIX ENV:PACKERUPD ENV:MENUARGS<$$> ENV:DEVICE >NIL:

