Frage an die Rexx Experten

(DE) Anwendungen für Office, Multimedia und Spiele, Werkzeuge, Hilfsprogramme, etc
(EN) Applications for Office, Multimedia or Games, Tools, Utilities, e.g.
Antworten
Benutzeravatar
Sigurd
Beiträge: 995
Registriert: Mo 23. Dez 2013, 08:35
Kontaktdaten:

Frage an die Rexx Experten

Beitrag von Sigurd »

Ich stehe hier vor einem Problem, bei dem ich unheimlich Zeit einsparen kann.

Im Rahmen meines Projektes muss ich an einer Stelle Dateien in ein anderes Verzeichnis kopieren und dann Packen.

Genau beschrieben ist dies hier: http://www.os2.org/viewtopic.php?f=2&t=117&hilit=#p1399

Nun ist es so, dass ich das im Moment für jede Datei einzeln wiederholen muss.

Gibt es nicht eine Möglichkeit, das zu automatisieren, dass heißt

- automatisch
- alle Files im Verzeichnis \UPDCD\BURN\OS2IMAGE\DISK_0
- mittels des PACK2 Befehls aus dem UPDCD Verzeichnis (bei mir liegt der in C:\APPS\UPDCD\BIN\ ; also im UPDCD Installationsverzeichnis)
- und dem Parameter bundle /H:\OS2\BOOT\(Dateinamen)/A

zu packen?

Ich habe es mal mit dem Dateinamen *.* versucht, aber leider hat dies keinen Erfolg.

Vielen herzlichen Dank vorab für Eure Hilfe!
OS/2 versus Hardware - Maximum Warp!
Benutzeravatar
aschn
Beiträge: 1363
Registriert: Mi 25. Dez 2013, 22:47

Beitrag von aschn »

Sigurd » Mi 21. Okt 2015, 21:19 hat geschrieben: Ich habe es mal mit dem Dateinamen *.* versucht, aber leider hat dies keinen Erfolg.
1. "*.*" ist ein Relikt aus DOS-Zeiten. Bitte immer nur "*" verwenden. Auf OS/2 und Windows sind zwar beide gleichbedeutend, aber auf Linux erreichst Du mit "*.*" nur Dateien, die einen Punkt im Dateinamen haben. Die ohne Endung fallen weg. Besser ist es also sich "*.*" abzugewöhnen.

2. Es geht anscheinend um pack2.exe. Ich erinnere mich daran, dass dies keine Wildcards unterstützt. Die könntest Du dann mit REXX und SysFileTree finden und dann in einer Schleife einzeln an pack2 übergeben.
Andreas Schnellbacher
Benutzeravatar
Sigurd
Beiträge: 995
Registriert: Mo 23. Dez 2013, 08:35
Kontaktdaten:

Beitrag von Sigurd »

aschn » Mi 21. Okt 2015, 21:41 hat geschrieben:
Sigurd » Mi 21. Okt 2015, 21:19 hat geschrieben: Ich habe es mal mit dem Dateinamen *.* versucht, aber leider hat dies keinen Erfolg.
1. "*.*" ist ein Relikt aus DOS-Zeiten. Bitte immer nur "*" verwenden. Auf OS/2 und Windows sind zwar beide gleichbedeutend, aber auf Linux erreichst Du mit "*.*" nur Dateien, die einen Punkt im Dateinamen haben. Die ohne Endung fallen weg. Besser ist es also sich "*.*" abzugewöhnen.

2. Es geht anscheinend um pack2.exe. Ich erinnere mich daran, dass dies keine Wildcards unterstützt. Die könntest Du dann mit REXX und SysFileTree finden und dann in einer Schleife einzeln an pack2 übergeben.
Aha -,nur weiss ich ja leider nicht wie das funktioniert, da ich nicht programmieren kann. Ich werde versuchen mir das mit Deinen Stichworten im Rexx Buch zusammen zu suchen, vielleicht kann mir jemand auch ein Beispiel geben. Danke schon einmal.
OS/2 versus Hardware - Maximum Warp!
Benutzeravatar
wilfried
Beiträge: 667
Registriert: Mo 23. Dez 2013, 18:26
Wohnort: Barsinghausen
Kontaktdaten:

Beitrag von wilfried »

Code: Alles auswählen

/* damit sysfiletree verfügbar wird */
rc = RxFuncAdd( 'sysloadfuncs', rexxutil, 'sysloadfuncs' )
Call SysLoadFuncs

 C_PATH = 'F:\HOME\DEFAULT\MOZILLA\FIREFOX\PROFILES\NRQIV1FK.DEFAULT\CACHE\*.*'
 rc = sysfiletree(c_path,_out.,'SFO')
 do i = 1 to _out.0
  rc = sysfiledelete(_out.i)
 end
Hier ein Anwendungsbeispiel für sysfiletree aus meiner STARTUP-Putzkolonne.
Den sysfiledelete mußt du noch durch COPY und PACK ersetzen.
Zu mehr bin ich heute nicht mehr in der Lage. Mir fallen gleich die Augen zu.
Andi B.
Beiträge: 742
Registriert: Di 24. Dez 2013, 16:40
Kontaktdaten:

Beitrag von Andi B. »

Reicht nicht sowas in der Art -

Code: Alles auswählen

for %i in (\UPDCD\BURN\OS2IMAGE\DISK_0\*) do "C:\APPS\UPDCD\BIN\pack2 %i /H:\OS2\BOOT\%i /A"
Ev. sind noch ein paar " notwendig wegen Leerzeichen im Namen.

Mit 4os2 gibt es dann noch den /r bei for für Unterverzeichnisse. Z.B. ins \UPDCD\BURN\OS2IMAGE\DISK_0\ wechseln und

Code: Alles auswählen

for /r %i in (*) do "C:\APPS\UPDCD\BIN\pack2 %i /H:\OS2\BOOT\%i /A"
Benutzeravatar
Sigurd
Beiträge: 995
Registriert: Mo 23. Dez 2013, 08:35
Kontaktdaten:

Beitrag von Sigurd »

Hallo und vielen Dank.

Hat leider alles nicht funktioniert. Ich habe mir jetzt einen anderen Weg überlegt, und zwar werde ich den Ordner DISK_0 (ebenso wie den nur kurzzeitig für Bootfiles auftauchenden Ordner tmp) einmal komplett von Hand packen, und diesen dann aus der Installation heraus an eine andere Stelle kopieren.

Sollte ich dann wieder eine neue DVD erstellen, so kann ich die beiden Ordner (tmp beim anhalten des Mischens und DISK_0 vor dem Brennen) über die bestehenden kopieren bzw. diese ersetzen.

Nochmals herzlichen Dank, vermutlich kann ich am Sonntag das erste Mal die neue DVD brennen :) , mal sehen ob es klappt.
OS/2 versus Hardware - Maximum Warp!
Antworten