标题: [文本处理] 手工执行批处理可以下载文件,VB代码执行bat能运行,但下载不了文件。 [打印本页]
作者: sgdx2013 时间: 2015-9-22 10:10 标题: 手工执行批处理可以下载文件,VB代码执行bat能运行,但下载不了文件。
如题:想通过批处理远程下载FTP上面的一个文件,手工单独运行可以成功下载到指定目录,因通过程序代码运行的话能成功调用但无法下载文件。请问这个问题怎么解决,谢谢 贴上代码:
[code=BatchFile]@echo off
set ftpUser=Anonymous
set ftpIP=192.168.0.0
set LocalFolder=D:\temp
set ftpFile=%temp%\TempFTP.txt
>"%ftpFile%" (
echo,%ftpUser%
echo,%ftpPass%
echo cd "%ftpFolder%"
echo lcd "%LocalFolder%"
echo bin
echo ! echo 正在下载...
echo mget *.*
echo ! echo 下载结束...
echo ! ping -n 10 127.1 ^>nul
echo bye
)
start ftp -v -i -s:"%ftpFile%" %ftpIP%
[/code]
作者: sgdx2013 时间: 2015-9-22 13:50
@echo off
set ftpUser=Anonymous
set ftpIP=192.168.0.0
set LocalFolder=D:\temp
set ftpFile=%temp%\TempFTP.txt
>"%ftpFile%" (
echo,%ftpUser%
echo cd "%ftpFolder%"
echo lcd "%LocalFolder%"
echo bin
echo ! echo 正在下载...
echo mget *.*
echo ! echo 下载结束...
echo ! ping -n 10 127.1 ^>nul
echo bye
)
start ftp -v -i -s:"%ftpFile%" %ftpIP%
去掉echo,%ftppass% 能正常读取,但只是Anonymous(匿名用户才可以),
@echo off
set ftpUser=admin
set ftppass=123
set ftpIP=192.168.0.0
set LocalFolder=D:\temp
set ftpFile=%temp%\TempFTP.txt
>"%ftpFile%" (
echo,%ftpUser%
echo,%ftpPass%
echo cd "%ftpFolder%"
echo lcd "%LocalFolder%"
echo bin
echo ! echo 正在下载...
echo mget *.*
echo ! echo 下载结束...
echo ! ping -n 10 127.1 ^>nul
echo bye
)
start ftp -v -i -s:"%ftpFile%" %ftpIP%
通用其他用户和密码却无法下载
作者: Batcher 时间: 2015-9-22 13:53
回复 2# sgdx2013
把 %temp%\TempFTP.txt 压缩一下,传上来,我看看。
作者: Batcher 时间: 2015-9-22 13:59
回复 2# sgdx2013
如果 %temp%\TempFTP.txt 没有生产,请把 test.bat 压缩一下,传上来。
作者: flyinnet9 时间: 2015-9-22 14:04
echo user username password
作者: flyinnet9 时间: 2015-9-22 14:11
ftp -n ...................
作者: sgdx2013 时间: 2015-9-22 14:20
FTP.txt文件
作者: sgdx2013 时间: 2015-9-22 14:23
手工执行批处理可以下载文件,VB代码执行bat能运行,但下载不了文件。
作者: sgdx2013 时间: 2015-9-22 14:27
echo user username password
flyinnet9 发表于 2015-9-22 14:04
请问这怎么改
作者: flyinnet9 时间: 2015-9-22 14:28
本帖最后由 flyinnet9 于 2015-9-22 14:29 编辑
echo user ftp用户名 ftp密码
作者: sgdx2013 时间: 2015-9-22 14:30
我是小白,能复制一下我上面的告诉我怎么改吗,好人一生平安
作者: sgdx2013 时间: 2015-9-22 14:33
echo user ftp用户名 ftp密码
flyinnet9 发表于 2015-9-22 14:28
@echo off
set user ftpUser=admin ftppass=123
set ftpIP=192.168.0.0
set LocalFolder=D:\temp
set ftpFile=%temp%\TempFTP.txt
>"%ftpFile%" (
echo,%ftpUser%
echo,%ftpPass%
echo cd "%ftpFolder%"
echo lcd "%LocalFolder%"
echo bin
echo ! echo 正在下载...
echo mget *.*
echo ! echo 下载结束...
echo ! ping -n 10 127.1 ^>nul
echo bye
)
start ftp -v -i -s:"%ftpFile%" %ftpIP%
这样改吗
作者: sgdx2013 时间: 2015-9-22 14:38
不对啊,,大神
作者: Batcher 时间: 2015-9-22 15:05
回复 8# sgdx2013
批处理本身没有问题
echo cd "%ftpFolder%" 这句是多余的可以删掉
可能是VB的问题吧
作者: flyinnet9 时间: 2015-9-22 15:11
本帖最后由 flyinnet9 于 2015-9-22 15:12 编辑
- @echo off
- set ftpUser=admin
- set ftppass=123
- set ftpIP=192.168.0.0
- set LocalFolder=D:\temp
- set ftpFile=%temp%\TempFTP.txt
- >"%ftpFile%" (
- echo user %ftpUser% %ftppass%
- echo cd "%ftpFolder%"
- echo lcd "%LocalFolder%"
- echo bin
- echo ! echo 正在下载...
- echo mget *.*
- echo ! echo 下载结束...
- echo ! ping -n 10 127.1 ^>nul
- echo bye
- )
- start ftp -n -v -i -s:"%ftpFile%" %ftpIP%
复制代码
作者: sgdx2013 时间: 2015-9-22 15:27
谢谢大神帮助,手工执行没有问题,但通过代码调用还是不可以,只能放弃了
作者: flyinnet9 时间: 2015-9-22 16:06
回复 16# sgdx2013
装了个server-U测了一下,bat和vbs都没问题,只能是你的问题了,恭喜!
作者: sgdx2013 时间: 2015-9-22 16:35
已经装了server-U能方便加一下你Q吗。大神
作者: Batcher 时间: 2015-9-22 17:19
回复 16# sgdx2013
提醒一下,不要把批处理命名为ftp.bat,先用test.bat试试
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |