当前位置:首页 » 网页前端 » ftp脚本等待下载完成
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

ftp脚本等待下载完成

发布时间: 2023-06-05 17:04:17

Ⅰ 在IE中FTP下载到99%就停住了,目标文件夹中也找不到未完成的文件。咋办

你是直接另存为的吧?这样下载其实是先把文件下载到IE的临时文件夹内,下载完成后,再把它复制到你要求的目录中。下载到99%其实已经下载完成了,在临时文件夹内!只是由于系统出现故障,不能自动将它复制到你要求的目录中。
解决的方法,简单点,就是手动复制,先取消下载,再从IE工具->Internet选项->常规选项卡的临时文件设置中找到临时文件夹,在里面把你下载的东西手动复制出来。
彻底的方法是重装IE。

Ⅱ C#从ftp下载文件如何判断下载结束

从流里读取的字节数为0时,则下载结束。

c#实现绝如 ftp ;http;共享方式下载文件 并对比本地文件和服务器文件的更新时间 判断性下载

//从ftp服务器上下载文件的功能
public void Download(string ftpServerIP, string ftpUserID, string ftpPassword, string fileName, string Destination)
{
FtpWebRequest reqFTP;
try
{
FileStream outputStream = new FileStream(Destination + "\\" + fileName, FileMode.Create);
// 根据uri创建FtpWebRequest对象行手
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/" + fileName));
// 指定执行什么命令
reqFTP.Method = WebRequestMethods.Ftp.DownloadFile;
// 默认为true,连接不会被关闭
reqFTP.UseBinary = true;
// ftp用户名和密码
reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
FtpWebResponse ftpresponse = (FtpWebResponse)reqFTP.GetResponse();
Stream ftpStream = ftpresponse.GetResponseStream();
long cl = ftpresponse.ContentLength;
int bufferSize = 2048;
int readCount;
byte[] buffer = new byte[bufferSize];
readCount = ftpStream.Read(buffer, 0, bufferSize);
while (readCount > 0)
{
outputStream.Write(buffer, 0, readCount);
readCount = ftpStream.Read(buffer, 0, bufferSize);
}
ftpStream.Close();
outputStream.Close();
ftpresponse.Close();
}
catch (Exception ex)
{

}
}
//从http服务器上下载文件的功能
//为服务并带启器路径server_path
//本地存储路径local_path
public void Download(string server_path, string local_path)
{
HttpWebRequest req;
try
{
string folder = local_path.Substring(0, local_path.LastIndexOf("\\"));
if (!Directory.Exists(folder))
Directory.CreateDirectory(folder);
// 根据uri创建FtpWebRequest对象
req = (HttpWebRequest)HttpWebRequest.Create(new Uri(server_path));
// 指定执行什么命令
req.Method = WebRequestMethods.Http.Get;
HttpWebResponse response = (HttpWebResponse)req.GetResponse();
if (File.Exists(local_path))
{
FileInfo localFile = new FileInfo(local_path);
if (localFile.LastWriteTime > response.LastModified) return;
}
FileStream outputStream = new FileStream(local_path, FileMode.Create);
Stream stream = response.GetResponseStream();
long cl = response.ContentLength;
int bufferSize = 2048;
int readCount;
byte[] buffer = new byte[bufferSize];
readCount = stream.Read(buffer, 0, bufferSize);
while (readCount > 0)
{
outputStream.Write(buffer, 0, readCount);
readCount = stream.Read(buffer, 0, bufferSize);
}
stream.Close();
outputStream.Close();
response.Close();
}
catch (Exception ex)
{
string s = ex.Message;
}
}

//从共享文件夹下载
public void Download(string server_path, string local_path, int i)
{
try
{
server_path = "\\" + server_path;
string folder = local_path.Substring(0, local_path.LastIndexOf("\\"));
if (!Directory.Exists(folder))
Directory.CreateDirectory(folder);
if (!File.Exists(server_path)) return;

//服务器文件信息
FileInfo serverInfo = new FileInfo(server_path);
DateTime serverTime = serverInfo.LastWriteTime;
if (File.Exists(local_path))
{
FileInfo localinfo = new FileInfo(local_path);
DateTime localTime = localinfo.LastWriteTime;

if (localTime >= serverTime)
return;
}

serverInfo.CopyTo(local_path, true);
return;
}
catch (Exception ex)
{
string s = ex.Message;
}
}

Ⅲ 为什么不能从FTP服务器上,下载文件

没太明白。
正确的下载FTP服务器上文件的方法是这样的:
用FTP软件登入FTP服务器,(直接在‘我的电脑’中输入ftp://服务器IP:端口号 也行)你可能需要用户名和密码,当然,如果是匿名服务器的话,直接进入就可以。
然后,在服务器上浏览找到你需要的文件,比如abc.exe。那么,比较简单的方法就是直接把它拖到你本地的文件夹里吧~比如扔桌面上。当然,用右键里的“复制到”等菜单也能产生下载文件的效果————最后等待下载完成,搞定~

所谓的上传下载是对你自己来说的,以你自己为参考物,而不是服务器
下载——从服务器上往自己机器上拷东西
上传——从自己机器上把东西传给FTP服务器
自己的计算机在从FTP上下载东西的时候,有无共享文件夹都无所谓

Ⅳ 请在这里概述您的问题FTP下载到99%就停住了,目标文件夹中也找不到未完成的文件。咋办

重新装系统吧,格式化装

Ⅳ java FTP下载文件在代码中如何实现知道下载完成

(KmConfigkmConfig,StringfileName,StringclientFileName,OutputStreamoutputStream){
try{
StringftpHost=kmConfig.getFtpHost();
intport=kmConfig.getFtpPort();
StringuserName=kmConfig.getFtpUser();
StringpassWord=kmConfig.getFtpPassword();
Stringpath=kmConfig.getFtpPath();
FtpClientftpClient=newFtpClient(ftpHost,port);//ftpHost为FTP服务器的IP地址,port为FTP服务器的登陆端口,ftpHost为String型,port为int型。
ftpClient.login(userName,passWord);//userName、passWord分别为FTP服务器的登陆用户名和密码
ftpClient.binary();
ftpClient.cd(path);//path为FTP服务器上保存上传文件的路径。
try{
TelnetInputStreamin=ftpClient.get(fileName);
byte[]bytes=newbyte[1024];
intcnt=0;
while((cnt=in.read(bytes,0,bytes.length))!=-1){
outputStream.write(bytes,0,cnt);
}
//##############################################
//这里文件就已经下载完了,自己理解一下
//#############################################

outputStream.close();
in.close();
}catch(Exceptione){
ftpClient.closeServer();
e.printStackTrace();
}
ftpClient.closeServer();
}catch(Exceptione){
System.out.println("下载文件失败!请检查系统FTP设置,并确认FTP服务启动");
}
}

Ⅵ 服务器,用FTP不论上传或下载, 总是有最后几个文件要等几分钟才能完成,为什么

我来说说上传吧,所有的上传都是先发送到网络上,服务器再把它接收下去,这个是需要时间的啊,服务器得一个缓冲区一个缓冲区的处理,即使上传的客户端已经断开了,这部分上传的数据还在网络上,就是说服务器还没有接收完,这是可以的啊。当服务器处理速度慢,网络不够畅通的时候,这种情况很常见,都是正常现象。

Ⅶ ftp客户端24小时不停下载批处理

原创路径tmp自己根据实际情况改一下。安装路径和下载文件名在第2、3行设置一下。

@echo off
set path=c:\flashfxp
set f=test.rmvb
if not exist e:\download md e:\download

:begin

FlashFXP.exe -c4 -local=”e:\download” -download ftp://user:password@IP:port -remotepath=”/tmp/%f%” -localpath=”e:\download\%f%”
ping -n 5 127.1>nul
del %f%
goto begin

Ⅷ 自己做BAT脚本 通过FTP服务器自动下载或上传到本机电脑 公司里面用的研究了很久

1. ftp.tmp 是用命令产生的一个ftp命令文本,这个文本在运行ftp命令之后会自动运行。
ftp.tmp 的内容是
open 192.168.10.10
bak
bak
mget * (这句就是下载所有文件)
bye
2. 要达到你上传d:/1.txt,把批处理内容改为
@echo off
@echo xp的任务开始le...................
echo open 192.168.10.10>>ftp.tmp
echo bak>>ftp.tmp
echo bak>>ftp.tmp
echo put d:/1.txt>>ftp.tmp
echo bye>>ftp.tmp
ftp -i -s:ftp.tmp
del ftp.tmp
@echo 搞定收工。
@echo on

还有问题Q 7841983

Ⅸ 批处理来完成FTP文件自动下载

    前几天笔者遇到一个需求,在windows平台下使用ftp来远程获取交换机的配置文件。鉴于每一次都需要在命令行里面手动输入,过程繁琐,于是想着使用脚本来完成这个重复性的工作,实现自动化。python的ftplib库也可以解决这个问题,但是笔者未来和其他bat脚本揉在一起,直接windows平台下使用批处理bat来完成。

    ftp -s可以指定包含ftp命令的文本文件,ftp启动后这些命令将自动运行。

主批处理文件:ftp_main.bat 

ftp命令批处理文件:ftp_task.bat,文件放置于D盘下。

    除了FTP之外,date修改电脑日期,time修改电脑时间,echo ^G测试电脑声音。注意,“^G”是在命令行中使用ctrl + g输入的,可以使用echo ^G > test.txt来获取这个字符。

    最后这个脚本东凑西凑,界面如下: