В вашем вопросе не указано, хотите ли вы его для всех файлов, определенных файлов, или же ваш файл списка будет также содержать расширение файлов, поэтому я буду использовать только ваши примеры:
@echo off
for /f "tokens=1,*" %%i in (list.txt) do (
if exist "%%i.txt" %%j copy /Y "%%i.txt" "%%j.txt"
)
Вы может потребоваться добавить /Y
для подавления запроса на перезапись файлов. Однако, если вы не хотите перезаписывать и, возможно, на более позднем этапе содержимое исходных файлов может потребоваться добавить к существующим новым файлам, тогда вы можете проверить наличие целевого файла и добавить:
@echo off
for /f "tokens=1,*" %%i in (list.txt) do (
if exist "%%i.txt" if not exist "%%j.txt copy "%%i.txt" "%%j.txt"
if exist "%%j.txt" type "%%i.txt">>"%%j.txt"
)