Bild

Neuer DLF\ - Download-File-Befehl und UNZIP am Beispiel Blender 2.8

Moderator: MVogt

Antworten
Benutzeravatar
Theo_Gottwald
Beiträge: 305
Registriert: 03. Okt 2009, 08:57
Wohnort: Herrenstr.11 * 76706 Dettenheim
Kontaktdaten:

Neuer DLF\ - Download-File-Befehl und UNZIP am Beispiel Blender 2.8

Beitrag von Theo_Gottwald » 31. Jan 2019, 14:02

Der DLF\-Befehl wird mit dem nächsten Update geändert.
Der neue DLF\-Befehl kann nun Browser-unabhängig eine Datei aus dem Internet herunterladen.

Dieser Artikel zeigt ein praktisches Beispiel von einem "Update herunterladen und Installieren"-Skript.

Der neue DLF\-Befehl ist einfacher.
Und er ist unabhängig vom Browser der als Standard auf dem System eingetragen ist (oder nicht).

Anders als beim bisherigen Befehl erhält man nun keine Eingabefelder des Browsers mehr.

Man kann ab der neuen Version direkt die URL der Datei angeben, die heruntergeladen werden soll.
Und man gibt den Namen der zu erzeugenden Zieldatei an.

Code: Alles auswählen

' Codebeispiel:
VAR\$$LNK=https://builder.blender.org/download//blender-2.80-8c8979067490-win64.zip
' Zielfilename
VAR\$$ZIP=?path\Blender.zip
DLF\$$LNK->$$FIL
Lädt die aktuellste Blender Version herunter als "Blender.zip".
Der Befehl hält die Weitere Skriptausführung auch so lange an, bis der Download abgeschlossen wurde.

Und dann geht es direkt an das Entpacken der ZIP-Datei.

Code: Alles auswählen

' Das heruntergeladenen Archiv $$ZIP entpacken (UNZIP) und neuen Zielordner "$$TAG" erstellen
' Die Variable $$RES bekommt eine Auflistung der entpackten Dateien und Verzeichnisse.
GRN\unzip.|$$ZIP|$$PAT>$$RES
' Dieser Vorgang dauert eine ganze Weile!
Die entpackte Datei hat zunächst einen Unterordner der etwa so heisst:
"blender-2.80-8c8979067490-win64"

Diesen ermitteln wir mit dem IFS\-Befehl und verschieben das ganze Verzeichnis da heraus.
Auf diese Weise umgehen wir diesen unnötig langen und komplizierten Pfad.

Um die Installation abzuschließen wird man dann noch Verknüpfungen im Startmenü oder auf dem Desktop erzeugen, dazu gibt es den CNS\-Befehl (Create New Shortcut).

Hier der ganze Code mit Befehlsbezeichnung:

Code: Alles auswählen

' +++ main_Blender Install.rem +++
' Zweck: 
' von: Theo Gottwald
'========================
'#EXE:?path
'#SPI:AutoSettings
'#MAN:ra
'
'? KRM=KillReMote
KRM\2

'? GSB=GoSuB
GSB\Defs

'? GSB=GoSuB
GSB\CleanUp

'? MKD=MaKeDirectory
MKD\$$PAT

' Download File (DLF) starten und Blender.zip aus dem Internet herunterladen
'? DLF=DownLoadFile
DLF\$$LNK->$$ZIP

' Das heruntergeladenen Archiv entpacken (UNZIP) und neuen Zielordner "$$TAG" erstellen
GRN\unzip.|$$ZIP|$$PAT>$$RES

' Umkopieren und Namen bereinigen
'? IFS=IfFolderhasSubfolder
IFS\$$PAT
'? VAR=Variable
   VAR\$$NEW=$$PAT\$v1$
'? MOV=Move
   MOV\$$NEW->$$TAT
'? RMD=ReMoveDirectory
   RMD\$$NEW
  ' Zip-File löschen
'? DEL=DELete
   DEL\$$ZIP
'? EFS=EndFolderhasSubfolder
EFS\

' Nun hat man den Ordner $$PAT_X mit ganz klar bekanntem Pfad der 
' nun einfach in den Blender-Ordner in $$TAR kopiert werden kann

'? DCP=DirCoPy
DCP\$$TAT->$$TAR\Blender28

' Hinweis:
' Die Variable $$RES bekommt eine Auflistung der entpackten Dateien und Verzeichnisse.
' Dieser Vrgang dauert eine ganze Weile!
@
'#####################################################################



:Defs
' Quelle: https://builder.blender.org/
'? VAR=Variable
VAR\$$LNK=https://builder.blender.org/download//blender-2.80-8c8979067490-win64.zip

' Zielfilename
'? VAR=Variable
VAR\$$ZIP=?path\Blender.zip
'? VAR=Variable
VAR\$$PAT=?path\Blender
'? VAR=Variable
VAR\$$TAT=$$PAT_X
'? VAR=Variable
VAR\$$TAR=?progs64\Blender Foundation
'? RET=RETurn
RET\


'Arbeitsordner bereinigen
:CleanUp
'? RMD=ReMoveDirectory
RMD\$$PAT
'? RMD=ReMoveDirectory
RMD\$$TAF
'? DEL=DELete
DEL\$$ZIP   
'? RET=RETurn
RET\

Hier der Code ohne die Befehlserläuterungen (besser lesbar):

Code: Alles auswählen

' +++ main_Blender Install.rem +++

'#EXE:?path
'#SPI:AutoSettings
'#MAN:ra
'
KRM\2

GSB\Defs
GSB\CleanUp
MKD\$$PAT

' Download File (DLF) starten und Blender.zip aus dem Internet herunterladen
DLF\$$LNK->$$ZIP

' Das heruntergeladenen Archiv entpacken (UNZIP) und neuen Zielordner "$$TAG" erstellen
GRN\unzip.|$$ZIP|$$PAT>$$RES

' Umkopieren und Namen bereinigen
IFS\$$PAT
   VAR\$$NEW=$$PAT\$v1$
   MOV\$$NEW->$$TAT
   RMD\$$NEW
  ' Zip-File löschen
   DEL\$$ZIP
EFS\

' Nun hat man den Ordner $$PAT_X mit ganz klar bekanntem Pfad der 
' nun einfach in den Blender-Ordner in $$TAR kopiert werden kann

DCP\$$TAT->$$TAR\Blender28

' Hinweis:
' Die Variable $$RES bekommt eine Auflistung der entpackten Dateien und Verzeichnisse.
' Dieser Vrgang dauert eine ganze Weile!
@
'#####################################################################

:Defs
' Quelle: https://builder.blender.org/
VAR\$$LNK=https://builder.blender.org/download//blender-2.80-8c8979067490-win64.zip

' Zielfilename
VAR\$$ZIP=?path\Blender.zip
VAR\$$PAT=?path\Blender
VAR\$$TAT=$$PAT_X
VAR\$$TAR=?progs64\Blender Foundation
RET\

'Arbeitsordner bereinigen
:CleanUp
RMD\$$PAT
RMD\$$TAF
DEL\$$ZIP   
RET\

Antworten

Zurück zu „Package Robot“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast