Cómo reemplazar una cadena dentro de un archivo bat con una cadena de parámetros de línea de comando

Tengo lo siguiente en un archivo por lotes cmd:

for /f %%l in (%2) do (for %%f in (%%l) do copy "%%f" %1))

note: este script básicamente hace es leer un archivo de texto que contiene un archivo txt delimitado por punto y coma cuya ruta está dada por% 2 (por ejemplo, que contiene c: \ test1 \ file1.cs; d: \ file2.js) y copia los archivos a carpeta de destino especificada por% 1.

Necesito reemplazar el%1l valor de cadena del parámetro @ dex (que también se pasa al archivo por lotes, por ejemplo,%3) con%4 valor que también se pasa como parámetro al archivo por lotes.

p.ej.

if %1 = 'test replace x with y'
%3=x
%4=y

so la salida debería ser 'prueba reemplazar y con y'

¿Cómo puedo lograr esto con el intérprete por lotes de Windows CMD?

Respuestas a la pregunta(3)

Su respuesta a la pregunta