我发现了类似问题的一些帖子,但我没有让我的问题起作用。我想在Windows Server 2012上使用Windows任务来复制某些文件夹的内容,以便在FTP服务器上备份它们。
我创建了一个filebakup.bat
并进入了这些行
@echo off
echo user myusername> ftpcmd.dat
echo mypassword>> ftpcmd.dat
echo bin>> ftpcmd.dat
echo lcd /D "G:\Navi_Touren\Tour_2015\">> ftpcmd.dat *the local dir with many files to transfer
echo cd /backups/Tour_2015>> ftpcmd.dat *the Destination Folder on ftp
echo put *>> ftpcmd.dat
echo quit>> ftpcmd.dat
ftp -n -s:ftpcmd.dat myFTPserver.com
它不起作用,它说“无法打开文件”或类似的错误消息。
我只能用一个文件制作它
echo put "G:\Navi_Touren\Tour_2015\myfile.txt" "/backups/Navi Touren/myfile.txt">> ftpcmd.dat
但是如何传输某个目录中的所有文件?
谢谢迈克尔
你需要使用mput *
,而不是put
。 put
不接受通配符。
另外,您希望使用prompt
禁用每个选定文件的确认。
prompt
mput *
另见Batch file to upload all files in directory to FTP。
/D
命令中也没有lcd
开关。删除它。并且反斜杠似乎也不起作用。
lcd "G:\Navi_Touren\Tour_2015"