Como lidar com o espaço do nome de arquivo no Batch For Loop

@echo off
echo processing please wait...
setlocal enabledelayedexpansion
set txtfile=%~dp0mysql\my.ini.bak
set newfile=%~dp0mysql\my.ini
if exist "%newfile%" del /f /q "%newfile%"
for /f "tokens=*" %%a in (%txtfile%) do (
   set newline=%%a
   echo !newline! >> %newfile%
)

Agora o arquivo my.ini.bak está em D: \ Program Files \ my.ini.bak
Erro: O sistema não pode encontrar o arquivo Files \ mysql \ my.ini.bak.

Como fazer este código funcionar, então copie cada linha de my.ini.bak para my.ini

questionAnswers(3)

yourAnswerToTheQuestion