2014-09-11 214 views
1

我制作了一个简单的FTP上传脚本,应该将多个文件从Windows 2008 Server上载到FTP位置。我已经通过手动直接在CMD中执行脚本的每个命令来尝试这种方式,并且它工作正常。但是,当我运行script.bat它说,没有任何命令被识别为内部或外部命令。我检查了ENV变量,并且有一个System32的路径,所以它应该没问题。任何人都可以请帮忙。谢谢批处理脚本中的FTP命令无法正常工作

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

您的代码看起来并不像shell脚本,但FTP脚本。创建一个包含你的代码的文本文件,我假设它的文件名是“ftp.txt”。然后尝试在CMD中执行命令“ftp -s:ftp.txt”。 – 2014-09-11 08:25:55

+0

我假设你使用了'ftp -s:yourscript'就像这样http://support.microsoft.com/kb/96269 – 2014-09-11 08:26:27

+0

谢谢,当我从CMD运行脚本时,它工作,可以这样做,因此我可以运行从Windows脚本。谢谢 – user2842773 2014-09-11 08:46:43

回答

1

将您在桌面上的一个文本文件,脚本调用ftpscript.txt

创建一个名为getftp.bat一个批处理文件,里面有这样的 - 那么你可以点击bat文件。

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

您也可以尝试类似的东西与多文件上传的批处理文件:

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 
+0

非常感谢,能否帮我删除本地文件?谢谢 – user2842773 2014-09-12 08:29:40

相关问题