In Regina-REXX gibt es eine Erweiterung des ADDRESS-Befehls, mit
dem die Ausgabe des ausgeführten Befehls (z.B. ls oder dir)
direkt in einen angegeben REXX-Stem geschrieben werden kann.
Ältere bzw. andere REXX-Dialekte wie OO-Rexx oder das eingebaute
REXX von OS/2 unterstützen das nicht; hier ist es demnach nötig,
die Ausgabe des Befehls in eine Datei umzuleiten und die Ergebnisse
dann aus der Datei auszulesen und in einen Stem einzutragen.
Hier ist eine REXX-Funktion (für OS/2 und Windows), die das macht:
/* rexx */
filenamen_nach_stem:
command = "dir "dirpattern" /b >dirfile.tmp"
command
dirfile = "dirfile.tmp"
x = linein(dirfile, 1, 0)
if lines(dirfile) > 0 then do
zeile = linein(dirfile)
eof = 0
end
else do
zeile = ''
eof = 1
end
dirtab. = ""
dirtab.0 = 0
anz = 0
do while eof = 0
anz = anz + 1
dirtab.0 = anz
dirtab.anz = zeile
if lines(dirfile) > 0 then do
zeile = linein(dirfile)
eof = 0
end
else do
zeile = ''
eof = 1
end
end
x = lineout(dirfile)
"del dirfile.tmp"
return
|