проще всего так
Код:

for /f "delims=" %%i in (replace.txt) do (
echo @echo off >>%%i.cmd
echo setlocal enableextensions enabledelayedexpansion >>%%i.cmd
echo set sSourceFile=%%i.txt >>%%i.cmd
echo set sDestFile="C:\OneDrive\work\GENERATOR\%%i.txt" >>%%i.cmd
echo if defined sSourceFile ( >>%%i.cmd
)
если нужно именно брать данные из одного файла и подставлять в другой то будет несколько сложнее. Как я понимаю start.bat приведен не полностью, в приведенном куске ничего экранировать не пришлось, посему тут все почти без изменений, но если будут встречаться с теле cmd символы которые echo воспримет как параметр - возникнут грабли.