This works: http://fmepedia.safe.com/articles/How_To/Batch-Processing-Method-1-Command-Line-or-Batch-File
In the workbench set the Log File under Workspace Parameters to a User Parameter which then appears as a Published Parameter.
Make sure you set the LOG_FILE parameter in the batch to look like this:
Meant to say that you need to add the batch file modifier "~n" to your variable to expand it to include the file name of your variable. See here for more info http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/percent.mspx?mfr=true
My simple batch file that I use is this:
REM call FME workbench and log output to report.txt
FOR %%F IN ("C:\temp\*.shp") DO (
fme.exe grid_creator.fmw --SourceDataset_SHAPE "%%F" --LOG_FILE "c:\temp\logs\%%~nF.log"
echo %%F >> c:\temp\logs\report.txt
FIND "Translation was SUCCESSFUL" "c:\temp\logs\%%~nF.log" >> c:\temp\logs\report.txt
This reads the shapefiles in c:\temp into %%F and runs the workbench for each one. The log file has the same name as the input shapefile through the use of %%~nF. Maybe change your input list to read *.shp and change your SourceDataset_SHAPE to %%D and your DestDataset_SHAPE to have %%D.
This is the contents of my report.txt:
2013-08-22 15:24:33| 5.7| 0.0|INFORM|Translation was SUCCESSFUL with 2 warning(s) (0 feature(s) output)
2013-08-22 15:24:37| 2.9| 0.0|INFORM|Translation was SUCCESSFUL with 2 warning(s) (0 feature(s) output)
You could do a fanout in the workbench on fme_basename after setting the reader to read all shapefiles in the source directory but not sure how you would write out separate log files for each one.