Use FOR / F com DIR / B / S / A-D-R para obter arquivos que não possuem o sinalizador somente leitura.
Em seguida, use um dos vários métodos publicados para modificar um arquivo de texto. Eu prefiro usar um utilitário JScript / batch híbrido chamado REPL.BAT que executa uma pesquisa em regex e substitui stdin e grava o arquivo resultado para stdout. É um script nativo puro que roda em qualquer máquina Windows moderna do XP em diante - nenhum executável de terceiros é necessário. A documentação completa está incorporada no script.
A opção L
causa uma pesquisa literal, e a opção V
obtém a pesquisa e substitui os valores das variáveis em vez dos literais de string.
Assumindo o REPL.BAT na sua pasta atual, ou melhor ainda, em algum lugar dentro do seu caminho:
@echo off
setlocal
:START
set "var2="
set /P var2="type folder "
if "%var2%"=="" goto ERROR
set /p old="old string ? "
set /p new="new string ? "
set /p files="what criteria ? "
for /f "delims=" %%F in ('dir /b /s /a-d-r "%var2%\%files%" 2^>nul') do (
echo modifying %%F
type "%%F" | repl old new lv >"%%F.new"
move /y "%%F.new" "%%F" >nul
)
pause
exit /b
:ERROR
echo type something!!
goto START