leon460 发表于 2014-5-21 13:45:24

求一段关于批处理 的代码---看完需求再喷 ,谢谢

本帖最后由 leon460 于 2014-5-21 15:01 编辑

因为我的作业环境是winNT 4.0,早期的autoit不支持 ftpopen等内置函数,所以上来求批处理高手,完成以下功能
1、每隔2秒扫描本机上一个文件夹(因为要接近实时性)
2、如有文件,则把这些文件ftp方式传到 ftp server上(假设ip 172.21.20.3,用户名 a,,密码a)
3,判断上传成功后,再删除该本地文件


求 用批处理实现,非常感谢

zch11230 发表于 2014-5-21 15:26:11

@echo off
set filedir=e:\1\
set ftpip=192.168.1.100 2121
set username=1111
set password=2222
:ping
ping 127.1 -n 2 >nul
dir %filedir% /b /a-d&&goto ftp
goto ping

:ftp
echo.
echo 文件中传中... %date% %time%
echo open %ftpip%>ftp.s
echo %username%>>ftp.s
echo %password%>>ftp.s
for /f "delims=" %%a in ('dir %filedir% /b /a-d') do echo put %filedir%%%a >>ftp.s
echo close>>ftp.s
echo quit>>ftp.s
ftp -s:ftp.s
for /f "delims=" %%a in ('dir %filedir% /b /a-d') do del %filedir%%%a
goto ping

leon460 发表于 2014-5-21 16:46:42

回复 2# zch11230


发生错误,另外怎样判断ftp 正常上传成功 ?

zch11230 发表于 2014-5-21 18:08:42

本帖最后由 zch11230 于 2014-5-21 18:20 编辑

回复 3# leon460

FTP的结果可以将ftp -s:ftp.s 改成 ftp -s:ftp.s >result.txt得到判断哪个文件是否上传成功 看回显就知道了 服务器不一样 回显也应该不一样我是用的小米手机的远程文件管理测试的 刚才下了一个easyftp-server测试也是成功的   你这里登陆都失败了   你可以先在cmd下面 手动登 FTP 传文件 测试好了再来,ftp的命令我不懂 其中用到的几句都是临时百度的 你找找相关的资料看下。

leon460 发表于 2014-5-22 16:45:17

回复 4# zch11230

echo open %ftpip%>ftp.s
echo %username%>>ftp.s

请问下,,>    >>

则这两句什么意思?   >    >>   这两个字符有什么不同?

zch11230 发表于 2014-5-22 17:11:59

回复 5# leon460


    >相当于fileopen的模式2 写入前删除之前的内容>>相当于模式1 附加数据到文件尾部。 其实你只需要测试一下便知道的事。

ak47gglllk 发表于 2014-5-22 17:51:56

好高深,学习了。感谢

leon460 发表于 2014-5-23 10:28:49

回复 6# zch11230


    ftp -s:ftp.s

这个是神马意思?

leon460 发表于 2014-5-23 15:54:49

回复 10# qsy666888

顺便也来打点醋呗,,

qsy666888 发表于 2014-5-23 16:38:36

{:face (356):}回复 11# leon460

moyixiang901 发表于 2014-5-23 17:06:35

学习 学习!!

ak47gglllk 发表于 2014-5-27 09:40:41

学习下,感谢感谢。

pandy05 发表于 2014-5-27 11:29:00

真的好高深

zxhou1 发表于 2014-5-27 14:43:07

又高又深,看看

fhp2009 发表于 2014-5-28 08:41:47

顶一个,赞一个
页: [1]
查看完整版本: 求一段关于批处理 的代码---看完需求再喷 ,谢谢