Here is a simple script. It requires PAR2.EXE and GLOB.EXE. It is possible that it requires the version of GLOB that comes with REACT, but it may not.
CODE
@ECHO OFF
SET ext=flac
SET pathToGlob=GLOB.EXE
SET pathToPar2=PAR2.EXE
PUSHD %1
FOR /D /r %%G IN (*.*) DO CALL :ProcessFolder "%%G"
POPD
PAUSE
GOTO :EOF
:ProcessFolder
PUSHD %1
SET fileCount=0
FOR %%B IN (*.%ext%) DO CALL :IncreaseCounter
IF %fileCount% EQU 0 GOTO :EOF
%pathToGlob% -c -v %pathToPar2% c -c%fileCount% -s384000 "parity.par2" *.%ext%
POPD
GOTO :EOF
:IncreaseCounter
SET /A fileCount=%fileCount% + 1
GOTO :EOF
Drop the root folder onto the batch file icon and it will create a PAR2 set called "parity" in any subfolder containing FLACs. It will use a block size of 384000, and recovery block count equal to that of the number of FLAC files in the folder.
I also have a version that uses the parent folder name for the name of the PAR2 set. It's a lot more code for this simple addition - and I would suggest testing with the code above to begin, but if you are interested here is the code:
CODE
@ECHO OFF
SET ext=flac
SET pathToGlob=GLOB.EXE
SET pathToPar2=PAR2.EXE
PUSHD %1
FOR /D /r %%G IN (*.*) DO CALL :ProcessFolder "%%G"
POPD
PAUSE
GOTO :EOF
:ProcessFolder
CALL :MakePath "%~1" "#-1#" parentFolder
PUSHD %1
SET fileCount=0
FOR %%B IN (*.%ext%) DO CALL :IncreaseCounter
IF %fileCount% EQU 0 GOTO :EOF
%pathToGlob% -c -v %pathToPar2% c -c%fileCount% -s384000 "%parentFolder%.par2" *.%ext%
POPD
GOTO :EOF
:IncreaseCounter
SET /A fileCount=%fileCount% + 1
GOTO :EOF
:MakePath
FOR /F "tokens=1-7 delims=\" %%G IN ("%~1") DO CALL :SplitPath "%~1" %2 %3 "%%G" "%%H" "%%I" "%%J" "%%K" "%%L" "%%M"
GOTO:EOF
:SplitPath
SET p0=%~1
Set fullPath=%~2
SHIFT
IF [%3] NEQ [""] SET p1=%~3& SET /A max=1
IF [%4] NEQ [""] SET p2=%~4& SET /A max=2
IF [%5] NEQ [""] SET p3=%~5& SET /A max=3
IF [%6] NEQ [""] SET p4=%~6& SET /A max=4
IF [%7] NEQ [""] SET p5=%~7& SET /A max=5
IF [%8] NEQ [""] SET p6=%~8& SET /A max=6
IF [%9] NEQ [""] SET p7=%~9& SET /A max=7
FOR /L %%G IN (1,1,7) DO CALL :SetReverseVar %%G
FOR /L %%G IN (-7,1,7) DO CALL :ReplaceTokens %%G
SET %2=%fullPath%
GOTO:EOF
:SetReverseVar
IF [%max%] LEQ [0] GOTO:EOF
CALL SET p-%1=%%p%max%%%
SET /A max-=1
GOTO:EOF
:ReplaceTokens
CALL SET token=%%p%1%%
CALL SET fullPath=%%fullPath:#%1#=%token%%%
GOTO:EOF