Zend certified PHP/Magento developer

How do I incorporate specified path in batch file for ffmpeg for each?

If I use this using CMD within the directory where all the movies are, it works fine:

for %i in (*.mp4) do ffmpeg -i "E:%i" -map 0 -c copy -metadata:s:a:0 language=eng "E:converted%~ni.mp4"

I’m trying to create a batch file that allows the user to input a source directory, and output directory. This won’t work:

set /p filepath=Source File Path
set /p filepath2=Destination File Path
for %i in (*.mp4) do ffmpeg -i "%filepath%%i" -map 0 -c copy -metadata:s:a:0 language=eng "%filepath2%%~ni.mp4"

Gives an error:

Error: The following usage of the path operator in batch-parameter substitution is invalid: %~ni.mp4"