Naja, Kurt, ich denke für die normale Verwaltung deiner wenigen Partien (im Vergleich zu meinen 15000 Partien Testruns für nur einen Enginetest), brauchst du pgn-extract nicht. pgn-extract ist primär dafür gedacht, sehr große Datenbanken sehr schnell zu bearbeiten. Und sehr fortgeschrittene Operationen in pgn Datenbanken (automatisiert) durchzuführen, die sonst kein Tool bietet.
Allerdings könnte es sein, daß du vielleicht weiterführende Untersuchungen deiner Partien machen willst und dann kann ich pgn-extract nur empfehlen. Das Tool kann unfaßbar viel mehr als diese 6 extrem simplen Arbeitsvorgänge durchzuführen. Diese 6 Anwendungsbeispiele sind nicht mal die Spitze des Eisbergs. Eher die Spitze der Spitze...
Bis auf das Sortieren einer Datenbank, das geht mit pgn-extract nicht. Was ja nicht schlimm ist, weil das mit SCID sehr einfach geht.
Du musst dir klarmachen, meine ganzen Tools (EAS, SacrificegameSearch, Interesting Wins Search etc.) wickeln ca. 90% aller notwendigen Operationen durch pgn-extract Aufrufe ab. Der Rest meiner Tools sind dann eigentlich nur noch triviale Algorithmen (Prozente ausrechnen, Partien in einer pgn zählen, Statistiken formatieren und ausgeben - alles pillepalle). Die "Magie" in den Tools entsteht nur durch das geschickte Nutzen von pgn-extract auf immer neuen, temporären Arbeitsdatenbanken mit immer neuen Teiloperationen, bis daraus eine neue, höhere Gesamtfunktion entsteht (wie meine revolutionäre, ultraschnelle Opfersuche, die der Kern meiner ganzen Tools ist). Im EAS-Tool Programmcode kommen zum Beispiel knapp 60 (!) pgn-extract Aufrufe vor, obwohl der Code (mit Kommentaren!) nur ca. 1000 Zeilen und nicht mal 50 KiloByte groß ist (eben weil pgn-extract ja fast die ganze Arbeit macht). Und diese pgn-extract Aufrufe laufen ja in Programmschleifen immer wieder durch, sodaß es unter dem Strich oft Tausende von Aufrufen von pgn-extract ergibt, wenn man das EAS-Tool nur einmal laufen läßt.
Bis auf das Zählen der Partien in einer pgn (pgn-extract gibt
immer nur pgn-Datenbanken als Output zurück. Niemals irgendeinen Zahlenwert oder sonst eine Statistik) und das Sortieren einer pgn, geht ansonsten gefühlt alles mit pgn-extract, was man sich in einer pgn Datenbank nur vorstellen kann.
Und wenn man meint, irgendetwas ginge mit pgn-extract nicht, hat man meistens nur die Lösung im pgn-extract manual nicht gefunden (oder sie nicht in Teillösungen so zerlegt, daß es mit einigen aufeinanderfolgenden pgn-extract Funktionen nicht doch geht) - das ist zumindest meine Erfahrung. Das sieht man ja schon an der Länge des manuals von pgn-extract, obwohl der Autor sich in diesem manual wirklich extrem kurz faßt und alle Funktionen nur im Telegrammstil erläutert. Es sind einfach so viele.... selbst ich habe bislang nicht mal die Hälfte aller Funktionen je genutzt.
https://www.cs.kent.ac.uk/people/staff/djb/pgn-extract/help.htmlPS: Das Zählen von Partien in einer pgn-Datenbank in der Windows-Batch-Sprache, mit der man ja pgn-extract ansteuert (.bat Textdateien in Windows: Diese kann man einfach mit jedem Texteditor bearbeiten - da es eine Interpretersprache ist, kann man dann das Programm sofort wieder starten. Man braucht keine Entwicklungsumgebung oder einen Compiler zu installieren - sehr angenehm), geht übrigens sehr einfach mit meiner simplen (aber recht kryptischen) Subroutine namens countgames (diese schreibt die Zahl der gefundenen Partien in die (globale!) Variable c_numb_pgn, die dann überall im Programmcode benutzt werden kann). Auch hier mit einem Trick: Ich zähle einfach, wie oft der pgn-TAG "White" inklusive vorgesetzter [ vorkommt. Da dieser Textstring sehr ungewöhnlich ist ("[White ") kommt er sonst in den Partien einer pgn nicht vor, selbst dann nicht, wenn diese Kommentare enthält. Und er muß aber in jeder Partie vorhanden sein, ansonsten ist es keine reguläre pgn-Datenbank (viele andere pgn-Tags (z.B. Annotator oder so) sind ja optional, aber die Spielernamen nicht)
:countgames
set /A c_numb_pgn=0
for /f "tokens=2,* delims= " %%G in ('find /C "[White " %~1') do set /A c_numb_pgn=%%H
exit /B 0
PS: Aufgerufen wird diese Subroutine dann einfach mit
CALL :countgames partien.pgn
das zählt dann die Partien in partien.pgn
Wer selbst in die faszinierende Welt von pgn-extract eintauchen will, muß natürlich mit der Windows Batch Sprache halbwegs klarkommen. Dazu empfehle ich zumindest grundlegende Programmierkenntnisse in einer einfachen Sprache wie BASIC oder PASCAL oder C und diese Übersichtsseite, in der ich dann einfach immer wieder mal nachschlage (sie ist sogar auf Deutsch!):
https://www.axel-hahn.de/batch/helferlein-und-tabellen/alle-windows-kommandosAls Anfänger würde ich zunächst einfach mal den Programmcode eines meiner Tools mit einem Texteditor öffnen, reinschauen und versuchen, die einzelnen Batch-Befehle darin dann peu a peu (mit Hilfe der Seite von Axel Hahn (s.o.)) nachzuvollziehen. Dann wird schnell klar, wie die Grundfunktionen (Schleifen, If-then-else Verzweigungen und Subroutinen-Aufrufe etc.) funktionieren. Alle wesentlichen Arbeitsschritte habe ich außerdem auch mit Kommentaren versehen, dadurch weiß man, was an der Stelle überhaupt gemacht wird...
Ich warne aber vor: Die Batch-Sprache kennt keine Zahlen mit Nachkommastellen. Nur ganze Zahlen (long Integer), da sie fürs Rechnen nicht gedacht ist. Das machte übrigens meine Prozent-Rechenroutine zum echten Albtraum.