I write a simple batch processing shell, hope can give U some idea.
$strFilesList = Get-ChildItem “E:\ErrorConcealment\Sequence\Sequence_Bat" -Recurse -include *.264
$strConfigPath = "E:\ErrorConcealment\Sequence\decoder_tmp.cfg"
$regInputFile = "InputFile = `"(?<alp>[\s\S]*?)`" # H.264([\s\S]*)"
$regOutputFile = "OutputFile = `"(?<alp1>[\s\S]*?).yuv`""
$execPath = "D:/CY/JM18.6_RC/jm18.6/build/vs13-x86_64/Debug/jm.exe"
$execDirec = "jm.exe -d decoder_tmp.cfg -b 0 -e 75"
foreach ($strFile in $strFilesList)
{
$ConfigContent = Get-Content $strConfigPath
Clear-Content $strConfigPath
foreach($line in $ConfigContent){
if($line -match $regInputFile){
$line = $line.Replace($Matches.alp,$strFile);
Add-Content $strConfigPath -Value $line
}
elseif($line -match $regOutputFile){
write-host $line
$line = $line.Replace($Matches.alp1, $strFile );
Add-Content $strConfigPath -Value $line
}
else{
Add-Content $strConfigPath -Value $line
}
} # Finish config input files and output files
if(Test-Path $execPath)
{
cd "D:/CY/JM18.6_RC/jm18.6/build/vs13-x86_64/Debug"
cmd /C $execDirec # execute files
}
}
Thank U for reading!