Dateien in einem Verzeichnis auflisten und auswerten mit FEF

Moderator: MVogt

Post Reply
User avatar
Theo_Gottwald
Posts: 367
Joined: 03. Oct 2009, 08:57
Location: Herrenstr.11 * 76706 Dettenheim
Contact:

Dateien in einem Verzeichnis auflisten und auswerten mit FEF

Post by Theo_Gottwald » 30. Jul 2017, 20:29

Man hat eine Anzahl Dateien in einem Verzeichnis (oder auch noch in Unterverzeichnissen) die man in eine Dateiliste - zum Beispiel für Exel - packen will.
Oder man will die Dateien mit Versionsnummern (und Prüfsumme?) auflisten. Dazu ist der Befehl FEF\ geschaffen worden.
Dieser Befehl listet Dateien in einem Verzeichnis auf. Auf Wunsch auch alphabetisch sortiert.

Hier ein Beispielskript, das die Dateien im MPR-Ordner auflistet und in eine Textdatei schreibt.
So sieht die Textdatei aus die auf dem Desktop erzeugt wird.

Code: Select all

Dateiversionen MPR Sonntag, 30. Juli 2017
accanalyzer.exe                            	1.0.0.83     	 vom 10.02.2017 from c:\program files (x86)\matrix42\package robot
analyzer.exe                               	2.0.0.495    	 vom 10.02.2017 from c:\program files (x86)\matrix42\package robot
chckhwnd.exe                               	1.1.0.29     	 vom 10.02.2017 from c:\program files (x86)\matrix42\package robot
dwp.exe                                    	1.0.0.128    	 vom 10.02.2017 from c:\program files (x86)\matrix42\package robot
...
[gekürzt]
Hier nun das Skript dazu.
Hinweis: Da der DED\-Befehl verwendet wird läuft der Editor nicht mit.

Code: Select all


' Aktuelles Datum ermitteln und formattieren
VAR\$$dat=$date$
FMT\$$dat|long date	

' Pfad für Ausgabedatei festlegen
VAR\$$FID=?desktop\WR-Versions #date#.txt
VAR\$$TXT=Dateiversionen MPR $$dat$crlf$
DEL\$$FID

' Auffüllen mit Leerzeichen
VAR\$$LST=42

' Prüfen ob MPR installiert ist.
NAI\Matrix42 Package Robot
   SBT\5|MPR not installed.
   END\
EAI\

' Editor ausschalten
DED\1

'GPP\remote editor
'VAR\$$PAT=$v1$
'BLB\$$PAT

' Pfad des MPR bestimmen
VAR\$$PAT=?exepfad\

' Hier gehts los mit dem Dateien auflisten.
' Zuerst alle .exe-Dateien
FEF\$$PAT|*.exe|doit|$$FIL@!

' Nun alle DLL-Dateien
FEF\$$PAT|*.dll|doit|$$FIL@!

' Ausgabe schreiben
CTF\$$FID<$$TXT
@

:doit
GFT\$$FIL
VAR\$$FOL=$v2$
GFV\$$FIL>$$FVE
ALB\$$FIL
VAR\$$FIZ=$v1$
GFI\$$FIL
VAR\$$FDD=$v2$
SBD\|$$FDD|$sp$|1
VAR\$$FDD=$v1$
GSB\RSet
GSB\RSetV
VAR\$$TXT=$$TXT$crlf$$$FIZ
VAR\$$TXT=$$TXT$tab$
VAR\$$TXT=$$TXT$$FVE$tab$ vom $$FDD from $$FOL
@

:LSet
GSL\$$FIZ>$$LEN
FOR\$$CNT|$$LEN|12
   VAR\$$FIZ=$sp$$$FIZ
NXT\
RET\

:RSet
GSL\$$FIZ>$$LEN
FOR\$$CNT|$$LEN|$$LST
   VAR\$$FIZ=$$FIZ$sp$
NXT\
RET\

:RSetV
GSL\$$FVE>$$LEN
FOR\$$CNT|$$LEN|12
   VAR\$$FVE=$$FVE$sp$
NXT\
RET\

Hier noch eine Kurzversion, die das Ergebnis in einer Messagebox anzeigt.

Code: Select all

VVS\
VAR\$$TXT=Dateiversionen WinRobots $now$$crlf$
NAI\Matrix42 Package Robot
   SBT\5|WinRobots not registered.
   END\
EAI\
VAR\$$PAT=$v5$
DED\1
FEF\$$PAT|*.exe|doit|$$FIL
FEF\$$PAT|*.dll|doit|$$FIL

VVR\$$TXT
MBX\$$TXT
@

:doit
GFV\$$FIL>$$FVE
VAR\$$TXT=$$TXT$$FIL $tab$$$FVE$crlf$
@

Post Reply

Return to “Package Robot”

Who is online

Users browsing this forum: No registered users and 2 guests