FlashExtract: some prose about ConvertFrom-String

In the years 2010-2013, Microsoft Research powered the ConvertFrom-String cmdlet with FlashExtract inductive synthesis programmed by the end-user’s examples.

Sir Jourdain: `Yes, prose. Everything is prose that is not verse; and everything that’s not verse is prose.’


The Middle Class Gentleman (Le Bourgeois Gentilhomme) by Moliere

PROSE stands for Program Synthesis using Examples.
Read the overwiew of Programming by Examples.

Let us come back to our PGN parser.

Parse PGN tags

Let us try to extract the PGN tags between angle brackets: see below the $PgnInput.

Copy the following script and paste in pgnTag.ps1 inside the Windows PowerShell ISE:

$template = @'
[{[string]TagName*:Event} "{[string]TagValue:TCEC Season 14 - Superfinal}"]
[{[string]TagName*:Site} "{[string]TagValue:http://tcec.chessdom.com}"]
'@

$PgnInput = @'
[Event "TCEC Season 14 - Superfinal"]
[Site "http://tcec.chessdom.com"]
[Date "2019.02.06"]
[Round "10.1"]
[White "Stockfish 190203"]
[Black "LCZero v20.2-32930"]
[Result "1-0"]
[BlackElo "3404"]
[ECO "E00"]
[GameDuration "03:46:34"]
[GameEndTime "2019-02-06T10:45:26.377 W. Europe Standard Time"]
[GameStartTime "2019-02-06T06:58:51.921 W. Europe Standard Time"]
[Opening "Catalan opening"]
[PlyCount "104"]
[Termination "adjudication"]
[TerminationDetails "TCEC win rule"]
[TimeControl "7200+15"]
[WhiteElo "3588"]
'@

$PgnInput  | ConvertFrom-String -TemplateContent $template -OutVariable PgnData | Out-Null

Write-output ("Pgn items found: " + ($PgnData.Count))
$PgnData

Don’t forget to enter the first time the policy after the prompt:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process

Then click the green triangle RUN (F5). Windows PowerShell ISE displays the table:

C:\Users\Chess\Documents\Powershell\pgnTag.ps1
Pgn items found: 18

TagName            TagValue                                       
-------            --------                                       
Event              TCEC Season 14 - Superfinal                    
Site               http://tcec.chessdom.com                       
Date               2019.02.06                                     
Round              10.1                                           
White              Stockfish 190203                               
Black              LCZero v20.2-32930                             
Result             1-0                                            
BlackElo           3404                                           
ECO                E00                                            
GameDuration       03:46:34                                       
GameEndTime        2019-02-06T10:45:26.377 W. Europe Standard Time
GameStartTime      2019-02-06T06:58:51.921 W. Europe Standard Time
Opening            Catalan opening                                
PlyCount           104                                            
Termination        adjudication                                   
TerminationDetails TCEC win rule                                  
TimeControl        7200+15                                        
WhiteElo           3588

The template needs only the two first examples of PGN tags where “Event” has been highlighted by the name TagName prefixed by the type “[string]” and enclosed between “{” … “}“. Ditto for the TagValue, which less easy since it is a string until the delimiter of the double quote.

Now we are able to browse the list of tags and extract the tag name associated to the tag value.

To clean the previous result from the display, enter the following command Clear-Host or the old MS/DOS command cls or click the toolbar button near the paste icon:

cls

Chess move on one or two lines?

In the next session, we try to teach the learning system that a White move could be separated from a Black move by a space or a carriage-return.

We also introduce a new rule indicating the symbol “+” after a Black move meaning check. Finally, we indicate how to recognize the GameResult “1-0”.

A PowerShell comment begins the line by “#”.

# PGN without comment
$template = @'
{[int]Nbr*:1}. {White:d4} {Black:Nf6}

{[int]Nbr*:6}. {White:Nf3}
{Black:Bb7}

{[int]Nbr*:7}. {White:e4}
{Black:Nxe4+}

{!Nbr*:1}{!White:-0}
{GameResult:1-0}
'@

#{[int]Nbr*:22}. {White:Qe4+}
#{Black:Kg8}
#generates "InvalidResult : (Microsoft.Power...yFlashExtract():ProgramNotFoundException) [ConvertFrom-String], ProgramNotFoundException"

#Other attempts
#{[int]Nbr*:1}. {White:{Move:d4}} {Black:{Move:Nf6}}
#{[int]Nbr*:2}. {White:{Move:c4}} {Black:{Move:e6}}
#{[int]Nbr*:23}. {White:{Move:e8}{Promotion:=Q}{Check:+}}
#{Black:{Move:Kh}}

$PgnInput = @'
1. d4 Nf6
2. c4 e6
3. g3 c5
4. d5 exd5
5. cxd5 b5
6. Nf3
Bb7
7. e4
Nxe4
8. Bg2
Be7
9. O-O
O-O
10. Re1
f5
11. Nc3
Na6
12. Nxe4
fxe4
13. Ne5
Bd6
14. Ng4
c4
15. Bxe4
Bc5
16. Qc2
Kh8
17. Bxh7
Bxd5
18. Re5
Bf3
19. Qg6
Bxg4
20. Qxg4
Bxf2+
21. Kg2
Kxh7
22. Qe4+
Kg8
23. e8=Q+
Kh8
1-0
'@

$PgnInput  | ConvertFrom-String -TemplateContent $template -IncludeExtent -OutVariable PgnData | Out-Null

Write-output ("Chess moves found: " + ($PgnData.Count))
$PgnData
if ($PgnData.Count -gt 0)
{
    Write-output ("Result: " + ($PgnData.GameResult))
}

The option “-IncludeExtent” generates the “ExtentText” column of the context. The result is:

C:\Users\Chess\Documents\Powershell\pgnNoCmt.ps1
Chess moves found: 24

ExtentText        Nbr White Black
----------        --- ----- -----
1. d4 Nf6           1 d4    Nf6  
2. c4 e6            2 c4    e6   
3. g3 c5            3 g3    c5   
4. d5 exd5          4 d5    exd5 
5. cxd5 b5          5 cxd5  b5   
6. Nf3...           6 Nf3   Bb7  
7. e4...            7 e4    Nxe4 
8. Bg2...           8 Bg2   Be7  
9. O-O...           9 O-O   O-O  
10. Re1...         10 Re1   f5   
11. Nc3...         11 Nc3   Na6  
12. Nxe4...        12 Nxe4  fxe4 
13. Ne5...         13 Ne5   Bd6  
14. Ng4...         14 Ng4   c4   
15. Bxe4...        15 Bxe4  Bc5  
16. Qc2...         16 Qc2   Kh8  
17. Bxh7...        17 Bxh7  Bxd5 
18. Re5...         18 Re5   Bf3  
19. Qg6...         19 Qg6   Bxg4 
20. Qxg4...        20 Qxg4  Bxf2+
21. Kg2...         21 Kg2   Kxh7 
22. Qe4+...        22 Qe4   Kg8  
23. e8=Q+...       23 e8    Q+   
                                 
Result:                        1-0

In the 20th move, the Black move has been recognized with the check “+” but not in White move 22 “Qe4” instead of “Qe4+”.

There is also an issue with the last White move “23. e8=Q+”:
the symbol “=” meaning promotion of the pawn e into a Queen has been decoded as a wrong separator between White and Black moves.

The Game Terminator “1-0” needs more than the example “{GameResult:1-0}”. We must exclude the standard rule of move beginning with the move number using the not “!” operator. The example “{!Nbr*:1}{!White:-0}” means that “1-0” is not a White move beginning at the move number 1.

Modify the script in the $template variable above the GameResult adding the new rule about check “+” by White:

{[int]Nbr*:22}. {White:Qe4+}
{Black:Kg8}

We added the case of the move 22 where White checks the Black King with Qe4+. This generates the red exception “ProgramNotFoundException” meaning that the learning failed for the given examples.

Less is more

After some attemps, we reduce the complexity using a couple of two examples, the first one is more generic and does not match necessary with a given real example at level of the move number or using joker “*”.

We detailed also how to retrieve two key informations from the comment:

  • pv : the principal variation, which is a list of moves without move number
  • wv : the weight value, which is the score of a move evaluated by the engine

The variable $PgnInput is populated with an extract of a real PGN game in CuteChess format.

$template = @'
{[int]Nbr*:23}. {White:e7xd8=Q+} \{{CommentW:d=*, sd=*, pd=*, mt=*, tl=*, s=*, n=*, pv={pv:*}, tb=*, h=*, ph=*, wv={[float]wv:0.44}, R50=*, Rd=*, Rr=*, mb*}\}
{Black:e2xd1=R+} \{{CommentB:d=*, sd=*, pd=*, mt=*, tl=*, s=*, n=*, pv={pv:*}, tb=0, h=26.1, ph=0.0, wv={[float]wv:0.97}, R50=*, Rd=*, Rr=*, mb*}\}

{[int]Nbr*:7}. {White:e4} \{{CommentW:d=36, sd=66, pd=Bb7, mt=40211, tl=6606391, s=55390895, n=2227323315, pv={pv:e4 Nxe4 Bg2 Be7 O-O O-O}, tb=1003, h=100.0, ph=0.0, wv={[float]wv:0.44}, R50=49, Rd=-11, Rr=-11, mb=+0+0+0+0+0,}\}
{Black:Nxe4} \{{CommentB:d=27, sd=58, pd=e4, mt=69857, tl=7081591, s=47744, n=7176784, pv={pv:Nxe4 Bg2 Be7 O-O O-O Re1 f5 Nc3 d6 Nxb5}, tb=0, h=26.1, ph=0.0, wv={[float]wv:0.97}, R50=49, Rd=-11, Rr=-11, mb=+0+0+0+0+0,}\}

{!Nbr*:1}{!White:-0}
{GameResult:1-0}
'@

$PgnInput = @'
1. d4 {book, mb=+0+0+0+0+0,}
Nf6 {book, mb=+0+0+0+0+0,}
2. c4 {book, mb=+0+0+0+0+0,}
e6 {book, mb=+0+0+0+0+0,}
3. g3 {book, mb=+0+0+0+0+0,}
c5 {book, mb=+0+0+0+0+0,}
4. d5 {book, mb=+0+0+0+0+0,}
exd5 {book, mb=-1+0+0+0+0,}
5. cxd5 {book, mb=+0+0+0+0+0,}
b5 {book, mb=+0+0+0+0+0,}
6. Nf3 {d=36, sd=65, mt=583398, tl=6631602, s=51130154, n=29829281088, pv=Nf3 Bb7 e4 Nxe4 Bg2 Be7 O-O O-O Re1 f5 Nc3 Na6 Ne5 Bd6 Nxe4 fxe4 Rxe4 Nc7 Be3 Rf5 Bf4 Bxe5 Rxe5 Rxe5 Bxe5 d6 Bf4 a5 Qd2 Qf6 Re1 h6 h4 b4 g4 Re8 Rxe8+ Nxe8 Qe3 Kf8 g5 hxg5 Bxg5 Qf7 Qe6 Qxe6 dxe6 Bxg2 e7+ Kg8 Kxg2 Kf7, tb=1003, h=100.0, ph=0.0, wv=0.44, R50=49, Rd=-11, Rr=-11, mb=+0+0+0+0+0,}
Bb7 {d=24, sd=59, mt=78552, tl=7136448, s=53686, n=4214874, pv=Bb7 e4 Nxe4 Bg2 Be7 O-O O-O Re1 f5 Nc3 d6 Nxb5 Nd7 Nd2 Ndf6 Nxe4 Nxe4 Nc3 Nxc3 bxc3 Bf6 Rb1 Bc8 Bf4 g5 Bd2 Qc7 Qh5 Qg7 c4 Qg6 Qxg6+ hxg6 Rb3 Kf7 Bf1 Re8 Reb1 g4 Bf4 Be5 Bg5 Bf6 Bd2 g5 Bd3 Kg6, tb=0, h=26.1, ph=0.0, wv=0.97, R50=49, Rd=-11, Rr=-11, mb=+0+0+0+0+0,}
7. e4 {d=36, sd=66, pd=Bb7, mt=40211, tl=6606391, s=55390895, n=2227323315, pv=e4 Nxe4 Bg2 Be7 O-O O-O Re1 f5 Nc3 Na6 Nxb5 Nb4 d6 Bf6 a3 Nc6 Nd2 Nd4 Nxe4 Bxe4 Bxe4 fxe4 Rxe4 Rb8 Nxd4 Bxd4 Be3 Rxb2 Bxd4 cxd4 Ra2 Rfxf2 Rxb2 Rxb2 Qxd4 Qa8 Qc4+ Kh8 Qf7 Rb1+ Kf2 Rb2+ Kf3 Re2 Qe7 Rxe4 Qxe4 Qf8+ Qf4 Qc8 Qd4, tb=740, h=63.5, ph=100.0, wv=0.64, R50=50, Rd=-11, Rr=-11, mb=+0+0+0+0+0,}
Nxe4 {d=27, sd=58, pd=e4, mt=69857, tl=7081591, s=47744, n=7176784, pv=Nxe4 Bg2 Be7 O-O O-O Re1 f5 Nc3 d6 Nxb5 Nd7 Nd2 Ndf6 Nxe4 Nxe4 Nc3 Nxc3 bxc3 Bf6 Rb1 Bc8 Bf4 g5 Bd2 Qc7 Qh5 Qf7 Qxf7+ Kxf7 Bf1 f4 gxf4 Rg8 Bg2 Bf5 Rb7+ Kg6 fxg5 Bxg5 Bxg5 Kxg5 Rf7 Kg6 Ree7 Rae8 Rg7+ Kh6 Rxg8 Rxg8 Kh1 Rg7 Re8, tb=0, h=46.6, ph=100.0, wv=0.88, R50=50, Rd=-11, Rr=-11, mb=-1+0+0+0+0,}
8. Bg2 {d=38, sd=69, pd=Nxe4, mt=192484, tl=6428907, s=54252238, n=10442796444, pv=Bg2 Be7 O-O d6 Re1 f5 a4 bxa4 Qxa4+ Nd7 Nfd2 Nxd2 Nxd2 O-O Nb3 Bc8 Na5 Nb6 Qd1 Qc7 Nc6 Bf6 Qc2 Qd7 Qb3 Re8 Bf4 Rxe1+ Rxe1 Qc7 Qc2 g5 Bc1 Qf7 h4 gxh4 Bf4 Bd7 Bxd6 hxg3 Qxc5 gxf2+ Qxf2 Qg6 Bg3 Kh8, tb=2353, h=99.6, ph=100.0, wv=0.97, R50=49, Rd=-11, Rr=-11, mb=-1+0+0+0+0,}
Be7 {d=31, sd=65, pd=Bg2, mt=80325, tl=7016266, s=46036, n=10646782, pv=Be7 O-O O-O Re1 f5 Nc3 Na6 Nxb5 Nb4 d6 Bf6 a3 Nc6 Be3 Kh8 Rb1 Rb8 Nc7 Na5 Qd3 Bc6 Nd2 c4 Qc2 Nxd6 Nd5 Rb5 Nxf6 Qxf6 a4 Rb7 Bxc6 Nxc6 Nxc4 Ne4 Rbd1 h6 f3 Ng5 Bxg5 Qxg5 f4 Qh5 b3 Kh7 Re3 Re8 Rxe8 Qxe8 Qxf5+, tb=0, h=65.5, ph=100.0, wv=0.85, R50=49, Rd=-11, Rr=-11, mb=-1+0+0+0+0,}
9. O-O {d=38, sd=65, pd=Be7, mt=113230, tl=6330677, s=55440927, n=6277631631, pv=O-O O-O Re1 Nd6 Bf4 Na6 Nc3 Re8 Nd2 Bf8 Rxe8 Nxe8 Nxb5 Nb4 Nc3 Nd3 Be3 Ba6 Bf1 Rb8 b3 d6 Nde4 Nb4 Bc4 Bxc4 bxc4 Be7 h4 h6 a3 Na6 Rb1 f5 Nd2 Rxb1 Qxb1 Bf6 Nb5 Qd7, tb=2252, h=96.5, ph=100.0, wv=0.91, R50=48, Rd=-11, Rr=-11, mb=-1+0+0+0+0,}
O-O {d=30, sd=61, pd=O-O, mt=85748, tl=6945518, s=46783, n=14047758, pv=O-O Re1 f5 Nc3 Na6 Nxb5 Nb4 d6 Bf6 a3 Nc6 Be3 Rb8 Nc7 Kh8 Rb1 Na5 Qa4 Nc6 Nd5 Ba8 Nd2 Bd4 Nxe4 fxe4 Rf1 Qe8 Nc7 Qg6 Nxa8 Rxa8 Rbe1 Qxd6 Bxd4 Qxd4 Rxe4 Qxb2 Rc4 Qb6 Bxc6 dxc6 Qc2 Rad8 Rxc5 Rd2 Qxd2 Qxc5 Rc1 Qxa3 Rxc6 Qa1+, tb=0, h=78.4, ph=100.0, wv=0.82, R50=48, Rd=-11, Rr=-11, mb=-1+0+0+0+0,}
10. Re1 {d=43, sd=60, pd=O-O, mt=199520, tl=6146157, s=55610718, n=11095506105, pv=Re1 Nd6 Bf4 Na6 Nc3 Nc7 Nd2 Nce8 a4 a6 axb5 axb5 Rxa8 Bxa8 Qe2 Bg5 Bxg5 Qxg5 Nde4 Nxe4 Nxe4 Qe7 Nxc5 Qxc5 Qxe8 Rxe8 Rxe8+ Qf8 Rxf8+ Kxf8 f4 d6 Kf2 Ke7 Ke3 Kd7 Bf1 b4 Kd4 Kc7 Kc4 Kb6 Bd3 h6 h4 Bb7 Kxb4 Bxd5 Kc3 Bb7 Kd4 f6 Bc4 Bf3 Bd5, tb=1789, h=98.7, ph=100.0, wv=0.54, R50=47, Rd=-11, Rr=-11, mb=-1+0+0+0+0,}
f5 {d=29, sd=63, pd=Re1, mt=87061, tl=6873457, s=48601, n=17432852, pv=f5 Nc3 Na6 Nxb5 Nb4 d6 Bf6 a3 Nc6 Nc7 Rb8 Be3 Kh8 Rb1 Na5 Qd3 Bc6 Nd2 c4 Qc2 Nxd6 Nd5 Re8 Nxf6 Qxf6 Bxc6 Nxc6 Nxc4 Nxc4 Qxc4 Rxb2 Rxb2 Qxb2 Qd5 Qb8 Kg2 Qa8 Rb1 Ne5 Qxa8 Rxa8 Rb7 a6 Bd4 Nc6 Rxd7 Nxd4 Rxd4 g6 a4 a5 Rd5 Kg7 Kf3 Kf6 h4 Ra7 Ke3 Re7+ Kd3, tb=0, h=99.9, ph=100.0, wv=0.81, R50=50, Rd=-11, Rr=-11, mb=-1+0+0+0+0,}
11. Nc3 {d=36, sd=58, pd=Nd6, mt=81146, tl=6080011, s=55730714, n=4522436024, pv=Nc3 Na6 Nxe4 fxe4 Ne5 Bd6 Ng4 c4 Bxe4 Nc5 Bc2 Rc8 Be3 Nd3 Bxd3 cxd3 Qxd3 a6 Rad1 Rf3 Qe4 Rf7 Ne5 Bxe5 Qxe5 Qf8 Qd4 Rf5 Qa7 Bxd5 Qxd7 Rd8 Qa7 Ra8 Qc7 Re8 Bf4 Qf7 Qxf7+ Kxf7 Rxe8 Kxe8 a3 Kd8 g4 Rxf4 Rxd5+ Ke8 g5 Kf7, tb=2538, h=90.6, ph=80.0, wv=0.74, R50=49, Rd=-11, Rr=-11, mb=-1+0+0+0+0,}
Na6 {d=30, sd=66, pd=Nc3, mt=153973, tl=6734484, s=45232, n=21461689, pv=Na6 Nxb5 Nb4 d6 Bf6 a3 Nc6 Be3 Rb8 Nc7 Kh8 Rb1 Na5 Qd3 Rc8 Nd2 c4 Qc2 Nxd6 Bxb7 Naxb7 Nd5 Bg5 Rbd1 Bxe3 Rxe3 Nc5 Nxc4 Ne6 Rc3 Nb5 Rcd3 f4 a4 Nd6 Rc3 Rxc4 Rxc4 Nxc4 Qxc4 Qg5 Qe2 h5 b4 h4 Rd3 fxg3 hxg3, tb=6, h=100.0, ph=100.0, wv=0.72, R50=49, Rd=-11, Rr=-11, mb=-1+0+0+0+0,}
12. Nxe4 {d=41, sd=62, pd=Na6, mt=339574, tl=5755437, s=56145460, n=19065594785, pv=Nxe4 fxe4 Ne5 Bd6 Ng4 c4 Bxe4 Nc5 Bc2 Nd3 Bxd3 cxd3 Qxd3 b4 Bd2 Qa5 Re4 Rae8 Rxe8 Rxe8 Ne3 Bc5 a3 Bxe3 fxe3 a6 Bxb4 Qxd5 Qxd5+ Bxd5 Rf1 Rc8 Bc3 Rf8 Rf4 Rxf4 exf4 d6 Kf2 Be6 a4 Bd7 a5 Kf7 b4 g6 Ke3 Ke7, tb=58970, h=99.8, ph=83.3, wv=0.76, R50=50, Rd=-11, Rr=-11, mb=-1+1+0+0+0,}
fxe4 {d=29, sd=62, pd=Nxb5, mt=265245, tl=6484239, s=50189, n=14279734, pv=fxe4 Ne5 Bd6 Rxe4 Nc7 Bf4 Nxd5 Qb3 c4 Qxb5 Qb6 Qxb6 Nxb6 Rd4 Bc5 Rd2 Bxg2 Kxg2 d5 Nd7 Bb4 Nxf8 Bxd2 Bxd2 Rxf8 Be3 Kf7 Rc1 Rb8 Bd4 Nc8 b3 Rb4 Bc3 Rb7 bxc4 dxc4 Kf3 g6 Ke4 Ke6 Kd4 Nd6 Re1+ Kd7 a4 Rb3 Re5 Ra3, tb=21, h=100.0, ph=83.3, wv=0.65, R50=50, Rd=-11, Rr=-11, mb=-1+0+0+0+0,}
13. Ne5 {d=36, sd=54, pd=fxe4, mt=54992, tl=5715445, s=59239654, n=3257825534, pv=Ne5 Bd6 Ng4 c4 Bxe4 Nc5 Bc2 Nd3 Bxd3 cxd3 Qxd3 b4 Be3 Qa5 Rad1 Qxa2 Qd4 h5 Bh6 gxh6 Nf6+ Rxf6 Qxf6 Bf8 Re8 Rxe8 Qg6+ Bg7 Qxe8+ Bf8 Qg6+ Kh8 Qf7 Bg7 Qe8+ Kh7 Qxd7 Qb3 Qf5+ Kh8 Qxh5 Qc2 Re1 Qd3 Qd1 Qxd1 Rxd1 Bxb2 d6 Bf6 d7 Bd8 Rc1, tb=8364, h=74.8, ph=85.7, wv=0.97, R50=49, Rd=-11, Rr=-11, mb=-1+0+0+0+0,}
Bd6 {d=29, sd=62, pd=Ne5, mt=81921, tl=6417318, s=50751, n=18016018, pv=Bd6 Rxe4 Nc7 Bf4 Nxd5 Qb3 c4 Qxb5 Qb6 Qxb6 Nxb6 Rd4 Bc5 Rd2 Bxg2 Kxg2 d5 Nd7 Bb4 Nxf8 Bxd2 Bxd2 Rxf8 Be3 Kf7 Rc1 g6 Rc3 Na4 Rc2 Nb6 Bd4 Re8 Rd2 Rd8 b3 Rc8 Kf3 Ke6 Kf4 h6 h4 Nd7 Rc2 a5 bxc4 dxc4, tb=14, h=100.0, ph=85.7, wv=0.65, R50=49, Rd=-11, Rr=-11, mb=-1+0+0+0+0,}
14. Ng4 {d=39, sd=55, pd=Bd6, mt=90975, tl=5639470, s=57747341, n=5253622168, pv=Ng4 c4 Bxe4 Nc5 Bc2 Nd3 Bxd3 cxd3 Qxd3 b4 Be3 Qa5 b3 Qxd5 Qxd5+ Bxd5 Rad1 Rf5 f4 Bc7 Nf6+ gxf6 g4 Bf3 gxf5 Bxd1 Rxd1 Bb6 Kf2 Bxe3+ Kxe3 Rd8 Rd4 a5 Rd5 Rc8 Rxa5 Rc2 h4 Rh2 Ra7 Rxh4 Rxd7 h5 Rb7 Rh2 Rxb4 Rxa2 Kf3 Kf7 Rb7+ Ke8 Rb6, tb=37408, h=96.3, ph=87.5, wv=0.91, R50=48, Rd=-11, Rr=-11, mb=-1+0+0+0+0,}
c4 {d=26, sd=59, pd=Rxe4, mt=268856, tl=6163462, s=42282, n=11988861, pv=c4 Bxe4 Bc5 Qc2 Kh8 Bh6 Qb6 Bf4 Rae8 a3 Nc7 Ne3 a6 Re2 Re7 Rae1 Ne8 Bf3 Nf6 h4 Ref7 h5 Ng8 Be4 Nf6 Bf3 Ng8 b4 Bd4 Kg2 d6 Ng4 Bc8 Re8 Bf5 Qd1 h6 R1e6 Bxe6 Rxe6 Rxf4 gxf4 Rxf4 Qd2 Rf8 Be4 c3, tb=1, h=100.0, ph=75.0, wv=0.70, R50=50, Rd=-11, Rr=-11, mb=-1+0+0+0+0,}
15. Bxe4 {d=42, sd=60, pd=c4, mt=106799, tl=5547671, s=58244418, n=6220503880, pv=Bxe4 Nc5 Bc2 Nd3 Bxd3 cxd3 Qxd3 b4 Be3 Qa5 b3 Qxd5 Qxd5+ Bxd5 Rad1 Rf5 f4 Bc7 Nf6+ gxf6 g4 Bf3 gxf5 Bxd1 Rxd1 Rd8 Kf2 a5 Kf3 Kf7 h3 Ke7 Bc5+ Kf7 Bf2 h5 Rd2 Kf8 Bd4 Kf7 Rg2 Rh8 Rg1 Bd6 Rd1 Bc7 Be3 Rd8 Bf2 Ke7 Bd4 Kf7 Rd2 Ra8 Bc5 d6 Be3 Ra6 Rc2 Bd8, tb=99149, h=96.9, ph=88.8, wv=0.76, R50=50, Rd=-11, Rr=-11, mb=+0+0+0+0+0,}
Bc5 {d=32, sd=66, pd=Bxe4, mt=124964, tl=6053498, s=40101, n=16680230, pv=Bc5 Qc2 Kh8 Bh6 Qb6 Bf4 Rae8 a3 Nc7 Ne3 a6 Rad1 Re7 Bg5 Ree8 Bf4 Re7 h4 Ref7 Bf5 Re7 Re2 h6 Be4 Ne8 Bf3 Nf6 Rdd2 Qd8 b3 d6 bxc4 Bc8 Ng2 Ng4 h5 Kg8 cxb5 axb5 Re6 Bxe6 dxe6 Nf6 Nh4 Rxe6 Ng6 Rfe8 Bc6 Qb6, tb=0, h=100.0, ph=77.7, wv=0.72, R50=49, Rd=-11, Rr=-11, mb=+0+0+0+0+0,}
16. Qc2 {d=36, sd=73, pd=Nc5, mt=60103, tl=5502568, s=59463543, n=3573996801, pv=Qc2 Kh8 Bxh7 Bxd5 Re5 Be6 Bf5 Bd4 Bxe6 Bxe5 Nxe5 dxe6 Ng6+ Kg8 Nxf8 Nb4 Qh7+ Kxf8 Be3 a5 Bb6 Qd5 Re1 Kf7 Re4 Qd1+ Kg2 Qd5 Bd4 Rg8 a4 bxa4 f3 Nd3 Bc3 Qf5 Qxf5+ exf5 Rxc4 Rb8 Rxa4 Rb5 Rxa5 Rxa5 Bxa5 Nxb2 Bc3 Nc4 Bd4 Na3 h4 Nc2 Bb6, tb=42662, h=85.2, ph=80.0, wv=1.34, R50=49, Rd=-11, Rr=-11, mb=+0+0+0+0+0,}
Kh8 {d=35, sd=69, pd=Qc2, mt=66279, tl=6002219, s=40422, n=16032294, pv=Kh8 Bh6 Qb6 Bf4 Rae8 a3 Nc7 Ne3 a6 Rad1 Re7 Bg5 Ree8 Bf4 Re7 h4 Ref7 Bf5 Re7 Re2 h6 Be4 Ne8 Bf3 Nf6 Rdd2 Qd8 b3 d6 bxc4 Bc8 Ng2 Ng4 h5 Kg8 Rxe7 Qxe7 Re2 Qd8 cxb5 axb5 Be4 Nf6 Bf5 Bxf5 Qxf5 Qd7 Re6 Ne8 Qe4 Nf6 Qg6 Nxd5 Bxd6 Bxf2+ Kh2 Rc8 Be5 Bc5 Bxg7, tb=0, h=100.0, ph=80.0, wv=0.78, R50=48, Rd=-11, Rr=-11, mb=+0+0+0+0+0,}
17. Bxh7 {d=38, sd=75, pd=Kh8, mt=64840, tl=5452728, s=60783469, n=3941321703, pv=Bxh7 Bxd5 Re5 Be6 Bf5 Bd4 Bxe6 Bxe5 Nxe5 dxe6 Ng6+ Kg8 Nxf8 Nb4 Qh7+ Kxf8 Be3 a5 Bb6 Qd5 Re1 Kf7 Re4 Qd1+ Kg2 Qd5 Bd4 Rg8 a4 bxa4 Bc3 Nd3 f3 Qf5 Qxf5+ exf5 Rxc4 Rb8 Rxa4 Rb5 Rxa5 Rxa5 Bxa5 Nxb2 Bc3 Nc4 h4 Ne3+ Kh3 Nd5 Be5 g6 g4 Ke6 Bb2 Nf4+ Kg3 Ne2+ Kf2 Nf4 Bc3 Nd5 Bg7 Nf4 Bh6, tb=158665, h=91.7, ph=81.8, wv=1.54, R50=50, Rd=-11, Rr=-11, mb=+1+0+0+0+0,}
Bxd5 {d=33, sd=78, pd=Bh6, mt=304780, tl=5712439, s=45208, n=13891464, pv=Bxd5 Re5 Nb4 Qb1 Be6 Rxc5 Bxg4 Bf4 Qf6 a3 Nc6 Qg6 Qxg6 Bxg6 Nd4 Bd6 Rf6 Bh5 Rxd6 Bxg4 Re8 Rd1 Re4 f4 Ne2+ Bxe2 Rxd1+ Bxd1 Re1+ Kf2 Rxd1 Rxb5 d5 h4 d4 Rd5 d3 Rd4 Rb1 Ke3 Re1+ Kf2 Rb1 Ke3 Re1+ Kf3 g6 Kg4 Rg1 f5 Kg7 fxg6 Kxg6 h5+ Kf6 h6 Kg6 Rd6+ Kh7 Kh5 Rxg3 Rd7+, tb=2387, h=100.0, ph=72.7, wv=1.34, R50=50, Rd=-11, Rr=-11, mb=+0+0+0+0+0,}
18. Re5 {d=41, sd=77, pd=Bxd5, mt=93095, tl=5374633, s=62157470, n=5786611901, pv=Re5 Be6 Bf5 Bd4 Bxe6 Bxe5 Nxe5 dxe6 Ng6+ Kg8 Nxf8 Nb4 Qh7+ Kxf8 Be3 a5 Bb6 Qd5 Re1 Re8 Re4 Qd1+ Kg2 Qd5 Bxa5 Nd3 Bc3 e5 a3 Re6 f3 Qc5 Re2 Qc6 Qe4 Qxe4 Rxe4 Kf7 h4 Rd6 Kf1 Rg6 Bxe5 Nxe5 Rxe5 Rxg3 Kf2 Rh3 Rxb5 Rxh4 Rb7+ Ke6, tb=366996, h=97.1, ph=83.3, wv=1.62, R50=49, Rd=-11, Rr=-11, mb=+0+0+0+0+0,}
Bf3 {d=41, sd=74, pd=Re5, mt=392647, tl=5334792, s=43001, n=30007851, pv=Bf3 Qg6 Bxg4 Qxg4 Bxf2+ Kg2 Kxh7 Qe4+ Kg8 Rh5 Bd4 Qh7+ Kf7 Bg5 Rh8 Qf5+ Bf6 Bxf6 gxf6 Rd1 Rxh5 Rxd7+ Qxd7 Qxd7+ Kg6 Qg4+ Kh6 Qe6 Rg5 Qe3 Rg8 h4 Nc7 hxg5+ Rxg5 Qxa7 Nd5 Qa6 Kg6 Qc8 Re5 Qg8+ Kh6 Kf3 c3 bxc3 Nxc3 Qf7 Nd5 a3 Rf5+ Kg4 Re5 Kh4 Rg5 Qf8+ Kg6 Qe8+ Kh6 g4 Kg7 Qd7+ Kf8, tb=23012, h=100.0, ph=75.0, wv=1.49, R50=49, Rd=-11, Rr=-11, mb=+0+0+0+0+0,}
19. Qg6 {d=39, sd=75, pd=Be6, mt=63214, tl=5326419, s=63838472, n=4035612893, pv=Qg6 Bxg4 Qxg4 Bxf2+ Kg2 Kxh7 Rh5+ Kg8 Qe4 Nc5 Qh7+ Kf7 Bh6 Ne6 Rf1 Qe7 Re5 Ke8 Bg5 Qf7 Qe4 Rc8 h4 b4 Qb7 Qf3+ Qxf3 Rxf3 Kxf3 Bd4 Re2 Bb6 Bf4 Bd8 Bd6 a5 Rd1 Be7 Bxe7 Kxe7 Red2 Rc7 Rd5 a4 Rc1 c3 bxc3 bxc3 Ke2 Rc4 Kd3 Rg4 Kxc3 Rxg3+ Rd3 Rg2 Rc2 Rg4 Rcd2 Nc5 Rd4 Ne4+ Kb4 Rxh4 Re2 d5 Rxd5, tb=241702, h=89.3, ph=76.9, wv=1.73, R50=48, Rd=-11, Rr=-11, mb=+0+0+0+0+0,}
Bxg4 {d=42, sd=56, pd=Qg6, mt=271, tl=5349521, s=40707, n=17502967, pv=Bxg4 Qxg4 Bxf2+ Kg2 Kxh7 Qe4+ Kg8 Rh5 Bd4 Qh7+ Kf7 Bg5 Rh8 Qf5+ Bf6 Bxf6 gxf6 Rd1 Rxh5 Rxd7+ Qxd7 Qxd7+ Kg6 Qg4+ Kh6 Qe6 Rg5 Qe3 Rg8 h4 Nc7 hxg5+ Rxg5 Qxa7 Nd5 Qa6 Kg6 Qc8 Re5 Qg8+ Kh6 Kf3 c3 bxc3 Nxc3 Qf7 Nd5 a3 Rf5+ Kg4 Re5 Kh4 Rg5 Qf8+ Kg6 Qe8+ Kh6 g4 Kg7 Qd7+ Kf8, tb=3, h=100.0, ph=76.9, wv=1.49, R50=50, Rd=-11, Rr=-11, mb=+0-1+0+0+0,}
20. Qxg4 {d=42, sd=81, pd=Bxg4, mt=144009, tl=5197410, s=64284780, n=9257586925, pv=Qxg4 Bxf2+ Kg2 Kxh7 Rh5+ Kg8 Qe4 Nc5 Qh7+ Kf7 Bh6 Ne6 Rf1 Qe7 Re5 Ke8 Bg5 Qf7 Qe4 Rc8 h4 a6 Qb7 Qf3+ Qxf3 Rxf3 Kxf3 Bd4 Re2 Rc5 g4 b4 Rd1 Be5 Be3 Ra5 Bd4 Bxd4 Rxd4 Rc5 Ree4 c3 bxc3 Rxc3+ Ke2 a5 Rd2 Rc5 Kf3 Ke7 Re1 Rc3+ Re3 Rc4 h5 Rc5 Kg3 d5 Rde2 Rc3 Kf2 Rxe3 Kxe3 Kd6 Rg2 a4 g5 d4+ Ke4, tb=1100198, h=99.6, ph=78.5, wv=1.79, R50=50, Rd=-11, Rr=-11, mb=+0-1+1+0+0,}
Bxf2+ {d=39, sd=56, pd=Qxg4, mt=19605, tl=5344916, s=47091, n=18053327, pv=Bxf2+ Kg2 Kxh7 Qe4+ Kg8 Rh5 Bd4 Qh7+ Kf7 Bg5 Rh8 Qf5+ Bf6 Bxf6 gxf6 Rd1 Rxh5 Rxd7+ Qxd7 Qxd7+ Kg6 Qg4+ Kh6 Qe6 Rg5 Qe3 Rg8 h4 Nc7 hxg5+ Rxg5 Qxa7 Nd5 Qa6 Kg6 Qc8 Re5 Qg8+ Kh6 Kf3 c3 bxc3 Nxc3 Qf7 Nd5 a3 Rf5+ Kg4 Re5 Kh4 Rg5 Qf8+ Kg6 Qe8+ Kh6 g4 Kg7 Qd7+ Kf8, tb=518, h=100.0, ph=78.5, wv=1.50, R50=50, Rd=-11, Rr=-11, mb=-1-1+1+0+0,}
21. Kg2 {d=44, sd=75, pd=Bxf2+, mt=94506, tl=5117904, s=65168006, n=6158767577, pv=Kg2 Kxh7 Rh5+ Kg8 Qe4 Nc5 Qh7+ Kf7 Bh6 Ne6 Rf1 Qe7 Re5 Ke8 Qe4 Rc8 Bg5 Qf7 h4 a6 Qb7 Qf3+ Qxf3 Rxf3 Kxf3 Bd4 Re2 Rc5 g4 b4 Rd1 Be5 Be3 Ra5 Bd4 Bxd4 Rxd4 Rc5 Ree4 c3 bxc3 Rxc3+ Ke2 a5 Kd1 Rc5 g5 Ke7 Re2 g6 Rd3 Rc4 Red2 Rc7 Rc2 Rb7 Kc1 Rb6 Re2 Rc6+ Kb1 Kd8 Red2 Nc5 Rd5 Kc7 Rc2 Ne6, tb=1034344, h=94.8, ph=80.0, wv=1.72, R50=49, Rd=-11, Rr=-11, mb=-1-1+1+0+0,}
Kxh7 {d=39, sd=61, pd=Kg2, mt=77449, tl=5282467, s=48437, n=21286336, pv=Kxh7 Qe4+ Kg8 Rh5 Bd4 Qh7+ Kf7 Bg5 Rh8 Qf5+ Bf6 Bxf6 gxf6 Rd1 Rxh5 Rxd7+ Qxd7 Qxd7+ Kg6 Qg4+ Kh6 Qe6 Rg5 Qe3 Rg8 h4 Nc7 hxg5+ Rxg5 Qxa7 Nd5 Qa6 Kg6 Qc8 Re5 Qg8+ Kh6 Kf3 c3 bxc3 Nxc3 Qf7 Nd5 a3 Rf5+ Kg4 Re5 Kh4 Rg5 Qf8+ Kg6 Qe8+ Kh6 g4 Kg7 Qd7+ Kf8, tb=2474, h=100.0, ph=80.0, wv=1.53, R50=50, Rd=-11, Rr=-11, mb=-1-1+0+0+0,}
22. Qe4+ {d=44, sd=79, pd=Kxh7, mt=197132, tl=4935772, s=65041980, n=12821855645, pv=Qe4+ Kg8 Rh5 Nc5 Qh7+ Kf7 Bh6 Ne6 Rf1 Qe7 Re5 Ke8 Bg5 Qf7 Qe4 Rc8 h4 b4 Qb7 Qf3+ Qxf3 Rxf3 Kxf3 Bd4 Re2 Bc5 Rd1 Rc6 Be3 Bxe3 Kxe3 Ra6 Kd2 Rxa2 Kc2 Ra5 Re4 Rc5 Rdd4 a5 Rxc4 Rd5 Kb3 Kd8 Re3 Nc5+ Kc2 Ne6 Rce4 Rc5+ Kb3 Rc1 Rxe6 dxe6 Rxe6 Rc7 Rg6 Ke8 Rg5 Re7 Ka4 Kf7 Rxa5 Re3 Rf5+ Kg8 g4 Re4, tb=3115311, h=99.1, ph=81.2, wv=1.76, R50=49, Rd=-11, Rr=-11, mb=-1-1+0+0+0,}
Kg8 {d=40, sd=69, pd=Qe4+, mt=166262, tl=5131205, s=50079, n=22142089, pv=Kg8 Rh5 Bd4 Qh7+ Kf7 Bg5 Rh8 Qf5+ Bf6 Bxf6 gxf6 Rd1 Nc5 Rxh8 Qxh8 Qxc5 Qc8 Qxb5 Qc6+ Qxc6 dxc6 Kf3 c5 Kf4 Re8 Rd2 Kg6 a3 a5 Rc2 f5 Rxc4 Re2 Rxc5 Rf2+ Ke5 Re2+ Kf4 Rf2+ Ke5 Re2+ Kd5 Rxb2 Rc6+ Kf7 Ke5 Rxh2 Kxf5 Rb2 Rc7+ Kf8 Rc3 a4 Kf4 Rb3 Re3 Kg7 Ke4 Rb1 Rd3 Ra1 Kd4 Rb1 Kc4, tb=69857, h=100.0, ph=81.2, wv=1.43, R50=49, Rd=-11, Rr=-11, mb=-1-1+0+0+0,}
1-0
'@

$PgnInput  | ConvertFrom-String -TemplateContent $template -OutVariable PgnData | Out-Null

Write-output ("Chess moves found: " + ($PgnData.Count))
$PgnData
if ($PgnData.Count -gt 0)
{
    Write-output ("Result: " + ($PgnData.GameResult))
}

The result is automatically in a pretty print format:

C:\Users\Chess\Documents\Powershell\pgnCheck.ps1
Chess moves found: 23
Nbr : 1
White : d4
CommentW : book, mb=+0+0+0+0+0,
Black : Nf6
CommentB : book, mb=+0+0+0+0+0,
Nbr : 2
White : c4
CommentW : book, mb=+0+0+0+0+0,
Black : e6
CommentB : book, mb=+0+0+0+0+0,
Nbr : 3
White : g3
CommentW : book, mb=+0+0+0+0+0,
Black : c5
CommentB : book, mb=+0+0+0+0+0,
Nbr : 4
White : d5
CommentW : book, mb=+0+0+0+0+0,
Black : exd5
CommentB : book, mb=-1+0+0+0+0,
Nbr : 5
White : cxd5
CommentW : book, mb=+0+0+0+0+0,
Black : b5
CommentB : book, mb=+0+0+0+0+0,
Nbr : 6
White : Nf3
CommentW : @{pv=Nf3 Bb7 e4 Nxe4 Bg2 Be7 O-O O-O Re1 f5 Nc3 Na6 Ne5 Bd6 Nxe4 fxe4 Rxe4 Nc7 Be3 Rf5 Bf4 Bxe5 Rxe5 Rxe5 Bxe5 d6 Bf4 a5 Qd2 Qf6 Re1 h6 h4 b4 g4 Re8 Rxe8+ Nxe8 Qe3 Kf8 g5 hxg5
Bxg5 Qf7 Qe6 Qxe6 dxe6 Bxg2 e7+ Kg8 Kxg2 Kf7; wv=0,44}
Black : Bb7
CommentB : @{pv=Bb7 e4 Nxe4 Bg2 Be7 O-O O-O Re1 f5 Nc3 d6 Nxb5 Nd7 Nd2 Ndf6 Nxe4 Nxe4 Nc3 Nxc3 bxc3 Bf6 Rb1 Bc8 Bf4 g5 Bd2 Qc7 Qh5 Qg7 c4 Qg6 Qxg6+ hxg6 Rb3 Kf7 Bf1 Re8 Reb1 g4 Bf4 Be5
Bg5 Bf6 Bd2 g5 Bd3 Kg6; wv=0,97}
Nbr : 7
White : e4
CommentW : @{pv=e4 Nxe4 Bg2 Be7 O-O O-O Re1 f5 Nc3 Na6 Nxb5 Nb4 d6 Bf6 a3 Nc6 Nd2 Nd4 Nxe4 Bxe4 Bxe4 fxe4 Rxe4 Rb8 Nxd4 Bxd4 Be3 Rxb2 Bxd4 cxd4 Ra2 Rfxf2 Rxb2 Rxb2 Qxd4 Qa8 Qc4+ Kh8 Qf7
Rb1+ Kf2 Rb2+ Kf3 Re2 Qe7 Rxe4 Qxe4 Qf8+ Qf4 Qc8 Qd4; wv=0,64}
Black : Nxe4
CommentB : @{pv=Nxe4 Bg2 Be7 O-O O-O Re1 f5 Nc3 d6 Nxb5 Nd7 Nd2 Ndf6 Nxe4 Nxe4 Nc3 Nxc3 bxc3 Bf6 Rb1 Bc8 Bf4 g5 Bd2 Qc7 Qh5 Qf7 Qxf7+ Kxf7 Bf1 f4 gxf4 Rg8 Bg2 Bf5 Rb7+ Kg6 fxg5 Bxg5 Bxg5
Kxg5 Rf7 Kg6 Ree7 Rae8 Rg7+ Kh6 Rxg8 Rxg8 Kh1 Rg7 Re8; wv=0,88}
Nbr : 8
White : Bg2
CommentW : @{pv=Bg2 Be7 O-O d6 Re1 f5 a4 bxa4 Qxa4+ Nd7 Nfd2 Nxd2 Nxd2 O-O Nb3 Bc8 Na5 Nb6 Qd1 Qc7 Nc6 Bf6 Qc2 Qd7 Qb3 Re8 Bf4 Rxe1+ Rxe1 Qc7 Qc2 g5 Bc1 Qf7 h4 gxh4 Bf4 Bd7 Bxd6 hxg3 Qxc5
gxf2+ Qxf2 Qg6 Bg3 Kh8; wv=0,97}
Black : Be7
CommentB : @{pv=Be7 O-O O-O Re1 f5 Nc3 Na6 Nxb5 Nb4 d6 Bf6 a3 Nc6 Be3 Kh8 Rb1 Rb8 Nc7 Na5 Qd3 Bc6 Nd2 c4 Qc2 Nxd6 Nd5 Rb5 Nxf6 Qxf6 a4 Rb7 Bxc6 Nxc6 Nxc4 Ne4 Rbd1 h6 f3 Ng5 Bxg5 Qxg5 f4
Qh5 b3 Kh7 Re3 Re8 Rxe8 Qxe8 Qxf5+; wv=0,85}
Nbr : 9
White : O-O
CommentW : @{pv=O-O O-O Re1 Nd6 Bf4 Na6 Nc3 Re8 Nd2 Bf8 Rxe8 Nxe8 Nxb5 Nb4 Nc3 Nd3 Be3 Ba6 Bf1 Rb8 b3 d6 Nde4 Nb4 Bc4 Bxc4 bxc4 Be7 h4 h6 a3 Na6 Rb1 f5 Nd2 Rxb1 Qxb1 Bf6 Nb5 Qd7; wv=0,91}
Black : O-O
CommentB : @{pv=O-O Re1 f5 Nc3 Na6 Nxb5 Nb4 d6 Bf6 a3 Nc6 Be3 Rb8 Nc7 Kh8 Rb1 Na5 Qa4 Nc6 Nd5 Ba8 Nd2 Bd4 Nxe4 fxe4 Rf1 Qe8 Nc7 Qg6 Nxa8 Rxa8 Rbe1 Qxd6 Bxd4 Qxd4 Rxe4 Qxb2 Rc4 Qb6 Bxc6
dxc6 Qc2 Rad8 Rxc5 Rd2 Qxd2 Qxc5 Rc1 Qxa3 Rxc6 Qa1+; wv=0,82}
Nbr : 10
White : Re1
CommentW : @{pv=Re1 Nd6 Bf4 Na6 Nc3 Nc7 Nd2 Nce8 a4 a6 axb5 axb5 Rxa8 Bxa8 Qe2 Bg5 Bxg5 Qxg5 Nde4 Nxe4 Nxe4 Qe7 Nxc5 Qxc5 Qxe8 Rxe8 Rxe8+ Qf8 Rxf8+ Kxf8 f4 d6 Kf2 Ke7 Ke3 Kd7 Bf1 b4 Kd4
Kc7 Kc4 Kb6 Bd3 h6 h4 Bb7 Kxb4 Bxd5 Kc3 Bb7 Kd4 f6 Bc4 Bf3 Bd5; wv=0,54}
Black : f5
CommentB : @{pv=f5 Nc3 Na6 Nxb5 Nb4 d6 Bf6 a3 Nc6 Nc7 Rb8 Be3 Kh8 Rb1 Na5 Qd3 Bc6 Nd2 c4 Qc2 Nxd6 Nd5 Re8 Nxf6 Qxf6 Bxc6 Nxc6 Nxc4 Nxc4 Qxc4 Rxb2 Rxb2 Qxb2 Qd5 Qb8 Kg2 Qa8 Rb1 Ne5 Qxa8
Rxa8 Rb7 a6 Bd4 Nc6 Rxd7 Nxd4 Rxd4 g6 a4 a5 Rd5 Kg7 Kf3 Kf6 h4 Ra7 Ke3 Re7+ Kd3; wv=0,81}
Nbr : 11
White : Nc3
CommentW : @{pv=Nc3 Na6 Nxe4 fxe4 Ne5 Bd6 Ng4 c4 Bxe4 Nc5 Bc2 Rc8 Be3 Nd3 Bxd3 cxd3 Qxd3 a6 Rad1 Rf3 Qe4 Rf7 Ne5 Bxe5 Qxe5 Qf8 Qd4 Rf5 Qa7 Bxd5 Qxd7 Rd8 Qa7 Ra8 Qc7 Re8 Bf4 Qf7 Qxf7+ Kxf7
Rxe8 Kxe8 a3 Kd8 g4 Rxf4 Rxd5+ Ke8 g5 Kf7; wv=0,74}
Black : Na6
CommentB : @{pv=Na6 Nxb5 Nb4 d6 Bf6 a3 Nc6 Be3 Rb8 Nc7 Kh8 Rb1 Na5 Qd3 Rc8 Nd2 c4 Qc2 Nxd6 Bxb7 Naxb7 Nd5 Bg5 Rbd1 Bxe3 Rxe3 Nc5 Nxc4 Ne6 Rc3 Nb5 Rcd3 f4 a4 Nd6 Rc3 Rxc4 Rxc4 Nxc4 Qxc4
Qg5 Qe2 h5 b4 h4 Rd3 fxg3 hxg3; wv=0,72}
Nbr : 12
White : Nxe4
CommentW : @{pv=Nxe4 fxe4 Ne5 Bd6 Ng4 c4 Bxe4 Nc5 Bc2 Nd3 Bxd3 cxd3 Qxd3 b4 Bd2 Qa5 Re4 Rae8 Rxe8 Rxe8 Ne3 Bc5 a3 Bxe3 fxe3 a6 Bxb4 Qxd5 Qxd5+ Bxd5 Rf1 Rc8 Bc3 Rf8 Rf4 Rxf4 exf4 d6 Kf2
Be6 a4 Bd7 a5 Kf7 b4 g6 Ke3 Ke7; wv=0,76}
Black : fxe4
CommentB : @{pv=fxe4 Ne5 Bd6 Rxe4 Nc7 Bf4 Nxd5 Qb3 c4 Qxb5 Qb6 Qxb6 Nxb6 Rd4 Bc5 Rd2 Bxg2 Kxg2 d5 Nd7 Bb4 Nxf8 Bxd2 Bxd2 Rxf8 Be3 Kf7 Rc1 Rb8 Bd4 Nc8 b3 Rb4 Bc3 Rb7 bxc4 dxc4 Kf3 g6 Ke4
Ke6 Kd4 Nd6 Re1+ Kd7 a4 Rb3 Re5 Ra3; wv=0,65}
Nbr : 13
White : Ne5
CommentW : @{pv=Ne5 Bd6 Ng4 c4 Bxe4 Nc5 Bc2 Nd3 Bxd3 cxd3 Qxd3 b4 Be3 Qa5 Rad1 Qxa2 Qd4 h5 Bh6 gxh6 Nf6+ Rxf6 Qxf6 Bf8 Re8 Rxe8 Qg6+ Bg7 Qxe8+ Bf8 Qg6+ Kh8 Qf7 Bg7 Qe8+ Kh7 Qxd7 Qb3 Qf5+
Kh8 Qxh5 Qc2 Re1 Qd3 Qd1 Qxd1 Rxd1 Bxb2 d6 Bf6 d7 Bd8 Rc1; wv=0,97}
Black : Bd6
CommentB : @{pv=Bd6 Rxe4 Nc7 Bf4 Nxd5 Qb3 c4 Qxb5 Qb6 Qxb6 Nxb6 Rd4 Bc5 Rd2 Bxg2 Kxg2 d5 Nd7 Bb4 Nxf8 Bxd2 Bxd2 Rxf8 Be3 Kf7 Rc1 g6 Rc3 Na4 Rc2 Nb6 Bd4 Re8 Rd2 Rd8 b3 Rc8 Kf3 Ke6 Kf4 h6
h4 Nd7 Rc2 a5 bxc4 dxc4; wv=0,65}
Nbr : 14
White : Ng4
CommentW : @{pv=Ng4 c4 Bxe4 Nc5 Bc2 Nd3 Bxd3 cxd3 Qxd3 b4 Be3 Qa5 b3 Qxd5 Qxd5+ Bxd5 Rad1 Rf5 f4 Bc7 Nf6+ gxf6 g4 Bf3 gxf5 Bxd1 Rxd1 Bb6 Kf2 Bxe3+ Kxe3 Rd8 Rd4 a5 Rd5 Rc8 Rxa5 Rc2 h4 Rh2
Ra7 Rxh4 Rxd7 h5 Rb7 Rh2 Rxb4 Rxa2 Kf3 Kf7 Rb7+ Ke8 Rb6; wv=0,91}
Black : c4
CommentB : @{pv=c4 Bxe4 Bc5 Qc2 Kh8 Bh6 Qb6 Bf4 Rae8 a3 Nc7 Ne3 a6 Re2 Re7 Rae1 Ne8 Bf3 Nf6 h4 Ref7 h5 Ng8 Be4 Nf6 Bf3 Ng8 b4 Bd4 Kg2 d6 Ng4 Bc8 Re8 Bf5 Qd1 h6 R1e6 Bxe6 Rxe6 Rxf4 gxf4
Rxf4 Qd2 Rf8 Be4 c3; wv=0,7}
Nbr : 15
White : Bxe4
CommentW : @{pv=Bxe4 Nc5 Bc2 Nd3 Bxd3 cxd3 Qxd3 b4 Be3 Qa5 b3 Qxd5 Qxd5+ Bxd5 Rad1 Rf5 f4 Bc7 Nf6+ gxf6 g4 Bf3 gxf5 Bxd1 Rxd1 Rd8 Kf2 a5 Kf3 Kf7 h3 Ke7 Bc5+ Kf7 Bf2 h5 Rd2 Kf8 Bd4 Kf7 Rg2
Rh8 Rg1 Bd6 Rd1 Bc7 Be3 Rd8 Bf2 Ke7 Bd4 Kf7 Rd2 Ra8 Bc5 d6 Be3 Ra6 Rc2 Bd8; wv=0,76}
Black : Bc5
CommentB : @{pv=Bc5 Qc2 Kh8 Bh6 Qb6 Bf4 Rae8 a3 Nc7 Ne3 a6 Rad1 Re7 Bg5 Ree8 Bf4 Re7 h4 Ref7 Bf5 Re7 Re2 h6 Be4 Ne8 Bf3 Nf6 Rdd2 Qd8 b3 d6 bxc4 Bc8 Ng2 Ng4 h5 Kg8 cxb5 axb5 Re6 Bxe6 dxe6
Nf6 Nh4 Rxe6 Ng6 Rfe8 Bc6 Qb6; wv=0,72}
Nbr : 16
White : Qc2
CommentW : @{pv=Qc2 Kh8 Bxh7 Bxd5 Re5 Be6 Bf5 Bd4 Bxe6 Bxe5 Nxe5 dxe6 Ng6+ Kg8 Nxf8 Nb4 Qh7+ Kxf8 Be3 a5 Bb6 Qd5 Re1 Kf7 Re4 Qd1+ Kg2 Qd5 Bd4 Rg8 a4 bxa4 f3 Nd3 Bc3 Qf5 Qxf5+ exf5 Rxc4
Rb8 Rxa4 Rb5 Rxa5 Rxa5 Bxa5 Nxb2 Bc3 Nc4 Bd4 Na3 h4 Nc2 Bb6; wv=1,34}
Black : Kh8
CommentB : @{pv=Kh8 Bh6 Qb6 Bf4 Rae8 a3 Nc7 Ne3 a6 Rad1 Re7 Bg5 Ree8 Bf4 Re7 h4 Ref7 Bf5 Re7 Re2 h6 Be4 Ne8 Bf3 Nf6 Rdd2 Qd8 b3 d6 bxc4 Bc8 Ng2 Ng4 h5 Kg8 Rxe7 Qxe7 Re2 Qd8 cxb5 axb5 Be4
Nf6 Bf5 Bxf5 Qxf5 Qd7 Re6 Ne8 Qe4 Nf6 Qg6 Nxd5 Bxd6 Bxf2+ Kh2 Rc8 Be5 Bc5 Bxg7; wv=0,78}
Nbr : 17
White : Bxh7
CommentW : @{pv=Bxh7 Bxd5 Re5 Be6 Bf5 Bd4 Bxe6 Bxe5 Nxe5 dxe6 Ng6+ Kg8 Nxf8 Nb4 Qh7+ Kxf8 Be3 a5 Bb6 Qd5 Re1 Kf7 Re4 Qd1+ Kg2 Qd5 Bd4 Rg8 a4 bxa4 Bc3 Nd3 f3 Qf5 Qxf5+ exf5 Rxc4 Rb8 Rxa4
Rb5 Rxa5 Rxa5 Bxa5 Nxb2 Bc3 Nc4 h4 Ne3+ Kh3 Nd5 Be5 g6 g4 Ke6 Bb2 Nf4+ Kg3 Ne2+ Kf2 Nf4 Bc3 Nd5 Bg7 Nf4 Bh6; wv=1,54}
Black : Bxd5
CommentB : @{pv=Bxd5 Re5 Nb4 Qb1 Be6 Rxc5 Bxg4 Bf4 Qf6 a3 Nc6 Qg6 Qxg6 Bxg6 Nd4 Bd6 Rf6 Bh5 Rxd6 Bxg4 Re8 Rd1 Re4 f4 Ne2+ Bxe2 Rxd1+ Bxd1 Re1+ Kf2 Rxd1 Rxb5 d5 h4 d4 Rd5 d3 Rd4 Rb1 Ke3
Re1+ Kf2 Rb1 Ke3 Re1+ Kf3 g6 Kg4 Rg1 f5 Kg7 fxg6 Kxg6 h5+ Kf6 h6 Kg6 Rd6+ Kh7 Kh5 Rxg3 Rd7+; wv=1,34}
Nbr : 18
White : Re5
CommentW : @{pv=Re5 Be6 Bf5 Bd4 Bxe6 Bxe5 Nxe5 dxe6 Ng6+ Kg8 Nxf8 Nb4 Qh7+ Kxf8 Be3 a5 Bb6 Qd5 Re1 Re8 Re4 Qd1+ Kg2 Qd5 Bxa5 Nd3 Bc3 e5 a3 Re6 f3 Qc5 Re2 Qc6 Qe4 Qxe4 Rxe4 Kf7 h4 Rd6 Kf1
Rg6 Bxe5 Nxe5 Rxe5 Rxg3 Kf2 Rh3 Rxb5 Rxh4 Rb7+ Ke6; wv=1,62}
Black : Bf3
CommentB : @{pv=Bf3 Qg6 Bxg4 Qxg4 Bxf2+ Kg2 Kxh7 Qe4+ Kg8 Rh5 Bd4 Qh7+ Kf7 Bg5 Rh8 Qf5+ Bf6 Bxf6 gxf6 Rd1 Rxh5 Rxd7+ Qxd7 Qxd7+ Kg6 Qg4+ Kh6 Qe6 Rg5 Qe3 Rg8 h4 Nc7 hxg5+ Rxg5 Qxa7 Nd5 Qa6
Kg6 Qc8 Re5 Qg8+ Kh6 Kf3 c3 bxc3 Nxc3 Qf7 Nd5 a3 Rf5+ Kg4 Re5 Kh4 Rg5 Qf8+ Kg6 Qe8+ Kh6 g4 Kg7 Qd7+ Kf8; wv=1,49}
Nbr : 19
White : Qg6
CommentW : @{pv=Qg6 Bxg4 Qxg4 Bxf2+ Kg2 Kxh7 Rh5+ Kg8 Qe4 Nc5 Qh7+ Kf7 Bh6 Ne6 Rf1 Qe7 Re5 Ke8 Bg5 Qf7 Qe4 Rc8 h4 b4 Qb7 Qf3+ Qxf3 Rxf3 Kxf3 Bd4 Re2 Bb6 Bf4 Bd8 Bd6 a5 Rd1 Be7 Bxe7 Kxe7
Red2 Rc7 Rd5 a4 Rc1 c3 bxc3 bxc3 Ke2 Rc4 Kd3 Rg4 Kxc3 Rxg3+ Rd3 Rg2 Rc2 Rg4 Rcd2 Nc5 Rd4 Ne4+ Kb4 Rxh4 Re2 d5 Rxd5; wv=1,73}
Black : Bxg4
CommentB : @{pv=Bxg4 Qxg4 Bxf2+ Kg2 Kxh7 Qe4+ Kg8 Rh5 Bd4 Qh7+ Kf7 Bg5 Rh8 Qf5+ Bf6 Bxf6 gxf6 Rd1 Rxh5 Rxd7+ Qxd7 Qxd7+ Kg6 Qg4+ Kh6 Qe6 Rg5 Qe3 Rg8 h4 Nc7 hxg5+ Rxg5 Qxa7 Nd5 Qa6 Kg6 Qc8
Re5 Qg8+ Kh6 Kf3 c3 bxc3 Nxc3 Qf7 Nd5 a3 Rf5+ Kg4 Re5 Kh4 Rg5 Qf8+ Kg6 Qe8+ Kh6 g4 Kg7 Qd7+ Kf8; wv=1,49}
Nbr : 20
White : Qxg4
CommentW : @{pv=Qxg4 Bxf2+ Kg2 Kxh7 Rh5+ Kg8 Qe4 Nc5 Qh7+ Kf7 Bh6 Ne6 Rf1 Qe7 Re5 Ke8 Bg5 Qf7 Qe4 Rc8 h4 a6 Qb7 Qf3+ Qxf3 Rxf3 Kxf3 Bd4 Re2 Rc5 g4 b4 Rd1 Be5 Be3 Ra5 Bd4 Bxd4 Rxd4 Rc5
Ree4 c3 bxc3 Rxc3+ Ke2 a5 Rd2 Rc5 Kf3 Ke7 Re1 Rc3+ Re3 Rc4 h5 Rc5 Kg3 d5 Rde2 Rc3 Kf2 Rxe3 Kxe3 Kd6 Rg2 a4 g5 d4+ Ke4; wv=1,79}
Black : Bxf2+
CommentB : @{pv=Bxf2+ Kg2 Kxh7 Qe4+ Kg8 Rh5 Bd4 Qh7+ Kf7 Bg5 Rh8 Qf5+ Bf6 Bxf6 gxf6 Rd1 Rxh5 Rxd7+ Qxd7 Qxd7+ Kg6 Qg4+ Kh6 Qe6 Rg5 Qe3 Rg8 h4 Nc7 hxg5+ Rxg5 Qxa7 Nd5 Qa6 Kg6 Qc8 Re5 Qg8+
Kh6 Kf3 c3 bxc3 Nxc3 Qf7 Nd5 a3 Rf5+ Kg4 Re5 Kh4 Rg5 Qf8+ Kg6 Qe8+ Kh6 g4 Kg7 Qd7+ Kf8; wv=1,5}
Nbr : 21
White : Kg2
CommentW : @{pv=Kg2 Kxh7 Rh5+ Kg8 Qe4 Nc5 Qh7+ Kf7 Bh6 Ne6 Rf1 Qe7 Re5 Ke8 Qe4 Rc8 Bg5 Qf7 h4 a6 Qb7 Qf3+ Qxf3 Rxf3 Kxf3 Bd4 Re2 Rc5 g4 b4 Rd1 Be5 Be3 Ra5 Bd4 Bxd4 Rxd4 Rc5 Ree4 c3 bxc3
Rxc3+ Ke2 a5 Kd1 Rc5 g5 Ke7 Re2 g6 Rd3 Rc4 Red2 Rc7 Rc2 Rb7 Kc1 Rb6 Re2 Rc6+ Kb1 Kd8 Red2 Nc5 Rd5 Kc7 Rc2 Ne6; wv=1,72}
Black : Kxh7
CommentB : @{pv=Kxh7 Qe4+ Kg8 Rh5 Bd4 Qh7+ Kf7 Bg5 Rh8 Qf5+ Bf6 Bxf6 gxf6 Rd1 Rxh5 Rxd7+ Qxd7 Qxd7+ Kg6 Qg4+ Kh6 Qe6 Rg5 Qe3 Rg8 h4 Nc7 hxg5+ Rxg5 Qxa7 Nd5 Qa6 Kg6 Qc8 Re5 Qg8+ Kh6 Kf3 c3
bxc3 Nxc3 Qf7 Nd5 a3 Rf5+ Kg4 Re5 Kh4 Rg5 Qf8+ Kg6 Qe8+ Kh6 g4 Kg7 Qd7+ Kf8; wv=1,53}
Nbr : 22
White : Qe4+
CommentW : @{pv=Qe4+ Kg8 Rh5 Nc5 Qh7+ Kf7 Bh6 Ne6 Rf1 Qe7 Re5 Ke8 Bg5 Qf7 Qe4 Rc8 h4 b4 Qb7 Qf3+ Qxf3 Rxf3 Kxf3 Bd4 Re2 Bc5 Rd1 Rc6 Be3 Bxe3 Kxe3 Ra6 Kd2 Rxa2 Kc2 Ra5 Re4 Rc5 Rdd4 a5 Rxc4
Rd5 Kb3 Kd8 Re3 Nc5+ Kc2 Ne6 Rce4 Rc5+ Kb3 Rc1 Rxe6 dxe6 Rxe6 Rc7 Rg6 Ke8 Rg5 Re7 Ka4 Kf7 Rxa5 Re3 Rf5+ Kg8 g4 Re4; wv=1,76}
Black : Kg8
CommentB : @{pv=Kg8 Rh5 Bd4 Qh7+ Kf7 Bg5 Rh8 Qf5+ Bf6 Bxf6 gxf6 Rd1 Nc5 Rxh8 Qxh8 Qxc5 Qc8 Qxb5 Qc6+ Qxc6 dxc6 Kf3 c5 Kf4 Re8 Rd2 Kg6 a3 a5 Rc2 f5 Rxc4 Re2 Rxc5 Rf2+ Ke5 Re2+ Kf4 Rf2+ Ke5
Re2+ Kd5 Rxb2 Rc6+ Kf7 Ke5 Rxh2 Kxf5 Rb2 Rc7+ Kf8 Rc3 a4 Kf4 Rb3 Re3 Kg7 Ke4 Rb1 Rd3 Ra1 Kd4 Rb1 Kc4; wv=1,43}
GameResult : 1-0
Result: 1-0

Microsoft Research AI FlashExtract

$TemplateCfs = "C:\Users\Chess\Documents\Powershell\pgnTcec2ScidCfs.txt"
...
$strMoves | ConvertFrom-String -TemplateFile $TemplateCfs -UpdateTemplate -OutVariable PgnMoves| Out-Null

The option “-UpdateTemplate” of ConvertFrom-String is able to update the supplied Template in a file with the FlashExtract cache to improve the performances.

{[int]Nbr*:23}. {White:e7xd8=Q+} \{{CommentW:d=*, sd=*, pd=*, mt=*, tl=*, s=*, n=*, pv={pv:*}, tb=*, h=*, ph=*, wv={[string]wv:0.44}, R50=*, Rd=*, Rr=*}\}
{Black:e2xd1=R+} \{{CommentB:d=*, sd=*, pd=*, mt=*, tl=*, s=*, n=*, pv={pv:*}, tb=0, h=26.1, ph=0.0, wv={[string]wv:0.97}, R50=*, Rd=*, Rr=*}\}

{[int]Nbr*:7}. {White:e4} \{{CommentW:d=36, sd=66, pd=Bb7, mt=40211, tl=6606391, s=55390895, n=2227323315, pv={pv:e4 Nxe4 Bg2 Be7 O-O O-O}, tb=1003, h=100.0, ph=0.0, wv={[string]wv:0.44}, R50=49, Rd=-11, Rr=-11}\}
{Black:Nxe4} \{{CommentB:d=27, sd=58, pd=e4, mt=69857, tl=7081591, s=47744, n=7176784, pv={pv:Nxe4 Bg2 Be7 O-O O-O Re1 f5 Nc3 d6 Nxb5}, tb=0, h=26.1, ph=0.0, wv={[string]wv:0.97}, R50=49, Rd=-11, Rr=-11}\}

# BEGIN FlashExtractProgram version=1
# H4sIAAAAAAAEAO1bbW/bNhD+PmD/QTOGIVkdv8itA2Oyh7hdgWKuEdjBAiwOBtljYqGy5Epy2iLI
# f++RsiiK4kmq7WZLS38IZIp3fLl77jkeHes88NckiBwSGks7XPZrJ72eaT7v9jpmbfDjD9b2/SfD
# s1ekXwt8P2qM5wF7NyXvN8RbEOhzG9grI/y0mvtuvzZu14xw4QfQv9sxTxsvasbAGvteRIKV49nu
# 2P+X8M4/097BxoXOI8cj4Vt7TZUbBi5xwSWmjnfrEio33czDKICvsXCR+JSLT8htLNdOpEDuLztw
# 7LlLsrMMQajJ5mXAxxo5sBh5JWxX6Gv6sUD5xrWDPz6uAxKGju+J8k1BwX5auTQb9MJ/R7ytrcab
# 1ZwE3BTtVqdmOOF0a6Qb2w1JbWD9dPXy1dnF2dVV66R3/exoVmcP952H41+PZo249fj36+uB1WTK
# hfGsZm6N/K31GCt85UfC8rri8qJgI65u1viqK3gnbGSbjZS3r9WUIMD2CmmVuqZoGU0TtLwBD3zt
# uPA3cV61V77xnIj2FaZ41Kob7WNsnujYr/nYDKnZwYsQNxwmk55GdhCFl060TCbN3BbB3HMRc5VQ
# p8Id90k6FHR4VIzkRtzbZ2EFBbijb/O+R1sls/JdwePs2Yibbe06ETN6BbPdiVbDxlW3q1rzbVZT
# Yh5Yi9VMmIp+SZ6TSDgPphAQFlHjcgmBm67B4oSRYy+Tx5SO2YWwP7BGJMqywdiM94GTRQrQu2SH
# 8H39B/QNOQkxSPDZJNJgMTUosrsrGTWdxnliOgjR534Y60+VV1MPvdABJhNhBPLx3HZ4HGIwq8KR
# DBw4h8R6YBIiYpkFp2t7QbiZ2i3IMHBmm63v/w4fnikJgM2gEE4wvBJQTFJAWrr10j6AgtwShVQg
# noGgiAOTjixtv/hOEEnHrkJEuF71eFYz8UQ2PO4SzK8BPXE2NyE3zLXB+5wI0h/RQ8p9Gx+lxLPL
# VcP6pW1N96/Eq9UMKxm8xNyYO+2oW3AJ5kpfEysHJp6dPRjzU8mssDWw2XHshvSVx9htxGevE6ag
# X5LnHGu89Fcr4kWXNH5WJI5TSLY1cajOeyUQA3Qq/UICGXTLRVWwDoVA+skQx4jcRMYwyBJH0Znh
# XjMG31E14jAm0YzBHbGSM+ddOZMgPCJjTJzb5Zeh5AFByffOFY01OwlUoguz1znVdAE1CkV58L+i
# i1/eb/zot7qxvuvHj/y48aIlnjakQlN9RiUQTNB4WcxaGNT3YMVMKKEzEOiVx3csksdcqg5i+qyh
# zxpptZnmyDbHSLtVlFnVEXwUo0PtuVhmgiGmiteqdapaYU4HPF80PmjOoBGnCq6gl3Tcq3yKx1xj
# 7yNGwhkfvpgzQALBBExWc8aWp1QIpPuj61PbM6+aqCW//v+cNjRn7F6TGrr2ArisakGq23nyNxln
# 8xBqyfQWKnOPgbIAv736M1rKUkXsUXbtVZ2haGySpidk3PBWSMVT9qqSobA5FOjeRzM2Z3W7jr5P
# tdZz6Ju04jzlm8/eh9WDceu0V/yTKH6Jlr88K8uN8axYujgTQyIuhAdRXKYsgJYtoTi47R7a1AGs
# iAoKi0/qiWSSrXyqlY3/4mXdge4nilCIYFDJQiXrEKpKKq3oVivHKmc8tT7cBbmv55MGXOi78PVS
# A5yY7CQq9GM+q7JAvu0At6xDXTmPT3NVwuTOwYvFWMHGafqZAT7rVlyyZl3EQJZUQXTlfL8MP4+u
# +H5b3a7z8Keah+sqyO5VkO0vc4a6cv5tcIaunGvO6Ncg4VD8ZrlKPoQn94VHOWzTpVwof5wTjkGg
# A7tar5Jn5XVnjoqgXcyxNGeUckbyDwHwr22Dz5UiEgbnNgAA
# END FlashExtractProgram

PgnTcec2Scid.ps1 final parser

The final parser is simplified to only manage the “Other Moves”. The weight value (wv) type float has been simplified by the generic string type in order to take in consideration the DTM (Distance to checkMate) “+M3”.

PowerShell file I/O is able to read a PGN file in TCEC CuteChess format and write the modified PGN in Scid format. You need to adapt the paths of the files according to the folder where you unzip the source code of the script.

Download “pgnTcec2Scid.zip archive of the PowerShell PGN parser” pgnTcec2Scid.zip – Downloaded 11 times – 22 KB

This site uses Akismet to reduce spam. Learn how your comment data is processed.