Skip to content

Instantly share code, notes, and snippets.

@irwins
Last active March 9, 2016 08:41
Show Gist options
  • Save irwins/e5a579325e28d0070a7b to your computer and use it in GitHub Desktop.
Save irwins/e5a579325e28d0070a7b to your computer and use it in GitHub Desktop.

Revisions

  1. irwins revised this gist Mar 9, 2016. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions Get-ChessMatchesResults.ps1
    Original file line number Diff line number Diff line change
    @@ -7,9 +7,9 @@ Param (
    )

    #region Define regex results. Make search case-insensitive just incase.
    [regex]$whiteWin = '\[(?i)result\s+"1-0"\]'
    [regex]$blackWin = '\[(?i)Result\s+"0-1"\]'
    [regex]$Tie = '\[(?i)result\s+"1/2-1/2"\]'
    [regex]$whiteWin = '(?i)result\s+"1-0"'
    [regex]$blackWin = '(?i)Result\s+"0-1"'
    [regex]$Tie = '(?i)result\s+"1/2.*'
    #endregion

    #region Main Process All pgn files
  2. irwins revised this gist Mar 7, 2016. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions Get-ChessMatchesResults.ps1
    Original file line number Diff line number Diff line change
    @@ -7,9 +7,9 @@ Param (
    )

    #region Define regex results. Make search case-insensitive just incase.
    [regex]$whiteWin = '\[(?i)result "1-0"\]'
    [regex]$blackWin = '\[(?i)Result "0-1"\]'
    [regex]$Tie = '\[(?i)result "1/2-1/2"\]'
    [regex]$whiteWin = '\[(?i)result\s+"1-0"\]'
    [regex]$blackWin = '\[(?i)Result\s+"0-1"\]'
    [regex]$Tie = '\[(?i)result\s+"1/2-1/2"\]'
    #endregion

    #region Main Process All pgn files
  3. irwins revised this gist Mar 5, 2016. 1 changed file with 22 additions and 8 deletions.
    30 changes: 22 additions & 8 deletions Get-ChessMatchesResults.ps1
    Original file line number Diff line number Diff line change
    @@ -1,19 +1,33 @@
    #region Define regex results
    [regex]$whiteWin = '\[Result "1-0"\]'
    [regex]$blackWin = '\[Result "0-1"\]'
    [regex]$Tie = '\[Result "1/2-1/2"\]'
    [CmdletBinding()]
    Param (
    [ValidateScript({ Test-Path $_ } )]
    [string]$ChessMatchesPath = 'C:\Users\Irwin\Downloads\ChessData-master\ChessData-master',

    [switch]$DisplaySumTotal
    )

    #region Define regex results. Make search case-insensitive just incase.
    [regex]$whiteWin = '\[(?i)result "1-0"\]'
    [regex]$blackWin = '\[(?i)Result "0-1"\]'
    [regex]$Tie = '\[(?i)result "1/2-1/2"\]'
    #endregion

    #region Main Process All pgn files
    Get-ChildItem -Path C:\Users\Irwin\Downloads\ChessData-master\ChessData-master -File *.pgn -Recurse |
    Get-ChildItem -Path $ChessMatchesPath -File *.pgn -Recurse |
    ForEach-Object {
    $pgnFile = Get-Content $_.FullName -Raw
    [PSCustomObject]@{
    FileReference = $_.Name
    WhiteWin = @($whiteWin.Matches($pgnFile)).Count
    BlackWin = @($blackWin.Matches($pgnFile)).Count
    Tie = @($Tie.Matches($pgnFile)).Count
    Tie = @($Tie.Matches($pgnFile)).Count
    }
    } |
    Export-Csv .\export\ChessMatchesResults.csv -Delimiter "`t" -NoTypeInformation
    } -OutVariable ChessResults

    If($DisplaySumTotal){
    "`n`r"
    'Total wins White: {0}' -f ($ChessResults.WhiteWin | Measure-Object -Sum).Sum
    'Total wins Black: {0}' -f ($ChessResults.BlackWin | Measure-Object -Sum).Sum
    'Total ties: {0}' -f ($ChessResults.Tie | Measure-Object -Sum).Sum
    }
    #endregion
  4. irwins revised this gist Mar 4, 2016. No changes.
  5. irwins revised this gist Mar 4, 2016. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions Get-ChessMatchesResults.ps1
    Original file line number Diff line number Diff line change
    @@ -10,9 +10,9 @@ ForEach-Object {
    $pgnFile = Get-Content $_.FullName -Raw
    [PSCustomObject]@{
    FileReference = $_.Name
    WhiteWin = ($whiteWin.Matches($pgnFile)).Count
    BlackWin = ($blackWin.Matches($pgnFile)).Count
    Tie = ($Tie.Matches($pgnFile)).Count
    WhiteWin = @($whiteWin.Matches($pgnFile)).Count
    BlackWin = @($blackWin.Matches($pgnFile)).Count
    Tie = @($Tie.Matches($pgnFile)).Count
    }
    } |
    Export-Csv .\export\ChessMatchesResults.csv -Delimiter "`t" -NoTypeInformation
  6. irwins created this gist Mar 4, 2016.
    19 changes: 19 additions & 0 deletions Get-ChessMatchesResults.ps1
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,19 @@
    #region Define regex results
    [regex]$whiteWin = '\[Result "1-0"\]'
    [regex]$blackWin = '\[Result "0-1"\]'
    [regex]$Tie = '\[Result "1/2-1/2"\]'
    #endregion

    #region Main Process All pgn files
    Get-ChildItem -Path C:\Users\Irwin\Downloads\ChessData-master\ChessData-master -File *.pgn -Recurse |
    ForEach-Object {
    $pgnFile = Get-Content $_.FullName -Raw
    [PSCustomObject]@{
    FileReference = $_.Name
    WhiteWin = ($whiteWin.Matches($pgnFile)).Count
    BlackWin = ($blackWin.Matches($pgnFile)).Count
    Tie = ($Tie.Matches($pgnFile)).Count
    }
    } |
    Export-Csv .\export\ChessMatchesResults.csv -Delimiter "`t" -NoTypeInformation
    #endregion