Dateien in einem Verzeichnis auflisten und auswerten mit FEF

Moderator: MVogt

Dateien in einem Verzeichnis auflisten und auswerten mit FEF

Beitragvon 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: Alles auswählen
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: Alles auswählen

' 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: Alles auswählen
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$
@
Benutzeravatar
Theo_Gottwald
 
Beiträge: 272
Registriert: 03. Okt 2009, 08:57
Wohnort: Herrenstr.11 * 76706 Dettenheim

Zurück zu Package Robot

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron