Esto podría servirte:
@echo off
Setlocal EnableDelayedExpansion
del /q kk_temp.txt
if "%3" == "" goto ayuda
if not exist %3 goto error
set cadorig=%1
set cadorig=%cadorig:"=%
set cadsust=%2
set cadsust=%cadsust:"=%
for /f "tokens=* delims=" %%i in (%3) do (call :cambiar "%%i")
rem copy /y kk_temp.txt %3
goto fin
:cambiar
set ANT=%1
set ANT=%ANT:"=%
set NUE=!ANT:%cadorig%=%cadsust%!
echo %NUE% >> kk_temp.txt
goto :EOF
:error
echo No existe el archivo %3
goto fin
:ayuda
echo Reemplaza una cadena por otra en todo el contenido de un archivo
echo Formato: %0 cadorig cadsust archivo
echo Si las cadenas contienen espacios deben escribirse entrecomilladas
echo No funciona si la cadena original contiene un "=" y no distingue mayusculas
echo Ejemplo:
echo %0 de DE kk.txt
:Fin
Aparte del problema comentado si alguna de las cadenas contiene el "=" y algún otro carácter como "<" o ">", que creo que no te supondrán problema, este bat elimina las líneas en blanco, y esto sí que puede ser un problema en un archivo de subtítulos, sobre todo si es en formato SRT. He comentado la línea que reescribiría el archivo original para que puedas hacer pruebas sin peligro. Tal como está dejará el archivo de salida en kk_temp.txt. Lo pruebas y si crees que podría ser un buen punto de partida me lo dices porque lo de las líneas en blanco se puede arreglar complicando un poco el código.