批处理文件将文本文件复制到FTP站点

时间:2011-02-02 05:18:08

标签: ftp copy batch-file

我在一台计算机上有一个文本文件要发送到ftp站点上的文件夹。 有人可以给我看一个批处理文件代码,用户名和密码登录FTP站点,然后复制文本文件。

感谢您的帮助。

2 个答案:

答案 0 :(得分:9)

如果您指的是Windows批处理中的批处理,则可以使用以下脚本tst.cmd执行此操作:

@ftp -n -stst.ftp myTargetMachine.com

(将myTargetMachine.com替换为您实际的FTP服务器的名称)和以下FTP命令文件tst.ftp

user myUser myPassword
dir
bye

显然,您应该将myUsermyPassword替换为您的实际用户名和密码,并使用dir命令替换您真正想要做的事情,例如:

put localfile.txt /fullpath/remotefile.txt

如果您正在谈论类UNIX环境,那么脚本将是:

#!/bin/bash
ftp -n myTargetMachine.com <<EOF
    user myUser myPassword
    dir
    bye
EOF

当然,与FTP服务器名称,用户ID和密码相同。


并回应你的评论:

  

是的,我是在谈论Windows环境。因此,为了论证,我们说文本文件是C:\ textfile.txt,我需要将它复制到名为BACKUPS的文件夹中的FTP站点。

您可以使用以下transfer.cmd

之类的脚本
@setlocal enableextensions enabledelayedexpansion
@echo off
c:
cd \
ftp -n -stransfer.ftp myTargetMachine.com
endlocal

transfer.ftp

user myUser myPassword
put textfile.txt /backups/textfile.txt
bye

如果您希望将Windows版本作为单个文件,则可以使用以下内容:

@echo off
echo user myUser myPassword>tst.ftp
echo dir>>tst.ftp
echo bye>>tst.ftp
ftp -n -s:tst.ftp myTargetMachine.com
del /q tst.ftp

暂时创建tst.ftp,然后在完成后将其删除。

答案 1 :(得分:1)

命令:

ftp -n -sScriptName HostName  

在剧本中:

   [User_id]
   [ftp_password]
   ascii
   put myfilehere.html /remotedir/remotename.txt
   quit