There is a alternative way for this. The ftp command has a subcommand open, and the open subcommand support specific port, Click here. So you can put the subcommand open in your ftpcmd.dat file and open connect to your ftp server with a specific port via this subcommand.
For example, I did a test on my site, open ftp connect to a ftp server 172.18.128.122 with port 21, it works.
C:\>ftp -d -v -s:test.txt 127.0.0.1 #note, it is not ftp server ip here.
ftp> open 172.18.128.122 21
Name(172.18.128.122:(none)):
---> USER test
---> PASS test
ftp> put aaa.txt
---> PORT 172,18,128,121,218,69
---> STOR aaa.txt
ftp> quit
---> QUIT
And my test.txt file is like below:
open 172.18.128.122 21
test
test
put aaa.txt
quit
So I think your bat file can be like below:
@echo off
CD %userprofile%/desktop
echo open files.000webhost.com 22> ftpcmd.dat
echo user MyUsername>> ftpcmd.dat
echo PASSWORDHERE>> ftpcmd.dat
echo put %1>> ftpcmd.dat
echo quit>> ftpcmd.dat
ftp -n -s:ftpcmd.dat 127.0.0.1
del ftpcmd.dat
Hope it help, FYI.