【问题标题】:FTP commands in a batch script does not working properly批处理脚本中的 FTP 命令无法正常工作
【发布时间】:2014-11-05 02:38:01
【问题描述】:

我制作了一个简单的 FTP 上传脚本,它应该将多个文件从 Windows 2008 服务器上传到 FTP 位置。我已经通过直接在 CMD 中执行脚本的每个命令来手动尝试这个,它工作正常。但是,当我运行 script.bat 时,它说没有任何命令被识别为内部或外部命令。我检查了 ENV 变量,并且有一条到 System32 的路径,所以应该没问题。谁能帮忙解决这个问题。谢谢你

open xx.xxx.xx.xx
user
pass
prompt
bin
lcd X:\test\test\
cd /tempTest/tempTest
binary
mput "*.*"
disconnect
quit

【问题讨论】:

  • 您的代码看起来不像是 shell 脚本,而是 ftp 脚本。创建一个包含您的代码的文本文件,我假设它的文件名是“ftp.txt”。然后尝试在CMD中执行命令“ftp -s:ftp.txt”。
  • 我猜你用过ftp -s:yourscript这样support.microsoft.com/kb/96269
  • 谢谢,当我从 CMD 运行脚本时,它可以工作,所以我可以从 Windows 运行脚本。谢谢

标签: batch-file ftp cmd environment-variables


【解决方案1】:

您也可以尝试使用批处理文件进行多文件上传:

MultipleFileUpload.bat

@echo off
Title Multiple file Upload by Hackoo
mode con cols=85 lines=22 & Color A
::***********************************
Set FTPSERVER=ftp.xx.xxx.xx.xx.com
Set USER=UserName
Set Password=YourPassword
Set LocalFolder=X:\test\test
Set RemoteFolder=/tempTest/tempTest/
::***********************************
> ft.do echo Open %FTPSERVER%
>> ft.do echo %USER%
>> ft.do echo %Password%
>> ft.do echo prompt n
>> ft.do echo bin
>> ft.do echo lcd %LocalFolder%
>> ft.do echo cd %RemoteFolder%
>> ft.do echo mput *.*
>> ft.do echo bye
ftp -s:ft.do
del ft.do
Pause

【讨论】:

  • 非常感谢,您能帮我删除移动后的本地文件吗?谢谢
【解决方案2】:

将您的脚本放在桌面上名为ftpscript.txt的文本文件中

创建一个名为getftp.bat 的批处理文件,其中包含该文件-然后您可以单击该bat 文件。

@echo off
ftp -i -s:"%userprofile%\desktop\ftpscript.txt"
pause

【讨论】:

    猜你喜欢
    • 2013-03-06
    • 2015-11-08
    • 2018-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-19
    • 1970-01-01
    相关资源
    最近更新 更多