当前位置:首页 » 文件管理 » 怎么判断ftp服务器上的文件

怎么判断ftp服务器上的文件

发布时间: 2023-03-27 20:15:42

Ⅰ 如何判断ftp上是的文件是文件夹还是文件

引用
3

的回复:使用这个方法
System.IO.Path.GetExtension(ftp路径)判断后缀名,如果有后缀名就是文件,没有后缀名就是文件夹有些文件名没有后缀的

Ⅱ Shell 判断FTP上某个路径、文件是否存在

如果FTP上的文件很大,获取文件会很费时。应该可以不用获取直接判断的,下面供借鉴:

#!/bin/bash
server=127.0.0.1#改为你自己的FTP服务器IP
user=root#修改为你自己的FTP登录用户名
password=root#修改为你自己的FTP用户密码
errlog=./err.log#用于记录FTP错误

ftpCheckFile()
{
ftp-n-i$server<<EOF
USER$user
PASS$password
ls$1
bye
EOF
}

rm-f$errlog
ftpCheckFile$1>/dev/null2>$errlog
bytes=`wc-c$errlog|awk'{print$1}'`
if[$bytes-eq0];then
echo"$1-Exist!"
else
echo"$1-Notexist!"
fi

用的时候在脚本名后跟一个参数,就是你要判断的文件名或路径名。

思路:如果文件或路径不存在,FTP中的ls命令会执行错误,从而在错误日志err.log中有记录。

通过解析该错误日志的内容,可以得知文件或目录是否存在。

我这里暂时没有环境试验,所以没法得知错误日志的格式,只能暂且通过判断日志字节大小是否为0来看是否发生了错误,而无法确定具体错误种类。

linux下用ftp命令连接到ftp服务器应该如何查看服务器上的目录文件数

1.Linux下启动ftp

ls -l 普通文件就是以 - 开头,文件夹以 d 开头,grep 后面接正则表达式:^- 以 - 开头的匹配。

(3)怎么判断ftp服务器上的文件扩展阅读:

1.查看当前目录下的文件数量(不包含子目录中的文件):

ls -l|grep "^-"| wc -l

2. 查看当前目录下的文件数量(包含子目录中的文件):

ls -lR|grep "^-"| wc -l

3.查看当前目录下的文件夹目录个数,(不包含子目录中的目录):

ls -l|grep "^d"| wc -l

4.查询当前路径下的指定前缀名的目录下的所有文件数量 例如:统计所有以“20161124”开头的目录下的全部文件数量:

ls -lR 20161124*/|grep "^-"| wc -l

Ⅳ C#如何判断FTP服务器上的文件夹是否存在

引入IO命名空间Directory类就是用来操作文件夹的Directory.Exists(string path); 该方法用于检查指定的文件夹在磁盘上是否存在,存在返回true,否则false

Ⅳ ftp服务器端怎么判断一个文件已经传送完成

首先,我不清楚你说的这个和我理解的是不是同一个概念。刚好之前写过一个文件服务器的小代码,可以稍微分享一下。
服务器首先read文件,read之后会有一个返回值,假设你每次read 1024个字节,当返回值小于1024,表示已经文件已经read结束。read之后send发送文件(阻塞式),在发送完所有文件断开连接,这时服务器又会发送一个FIN给客户端。(注意这里读文件,发文件在一个大循环,循环的判断条件就是read的字节数)。对应客户端接收文件也是在一个大循环里,recv阻塞式的接收文件,然后将接收到的内容写入自己建立的空文件中,在recv的返回值为0的时候,表示接收已经结束,跳出循环,继而断开连接。
可能有人会有疑问,当接收完文件,断开连接,服务器不也就结束了吗?其实我当时写的服务器有服务器和客户端建立了两条TCP连接,一条用于客户端向服务器请求文件,另一条用于服务器向客户端发送文件,这样即使下面一条连接断开,服务器和客户端也不会终止,从而实现该客户端还可以再次请求文件,同时服务器也可以处理其他客户端的请求(第二条连接是在客户端向服务器请求文件,并且服务器有你请求的文件时建立的)。
多客户端连接服务器有两种方式,一种是通过服务器fork生成子进程,用子进程去处理和客户端的数据传输,而父进程的功能就是监听是否有子进程过来连接。还有一种方式就是通过epoll来实现(与select和poll思想相同)。
以上所有内容都是自己敲上去的,可能说的有不对或是不确切的地方,希望看见的人能提出指正,谢谢。

Ⅵ 怎么判断FTP文件是否存在

//////1.从ftp服务器的指定目录下获得文件列表//////ftp服务器IP(DNS)地址///对ftp服务器上的目录或文档的操作方式///publicstaticvoidGetFileList(stringpath,stringWRMethods){string[]downloadFiles;WebResponseresponse=null;StreamReaderreader=null;StringBuilderresult=newStringBuilder();try{//连接ftp服务器ConnectFtpServer(path);//设定要传送到ftp服务器的命令reqFTP.Method=WRMethods;//传回ftp服务器回应response=reqFTP.GetResponse();reader=newStreamReader(response.GetResponseStream(),Encoding.Default);stringline=reader.ReadLine();while(line!=null){if(line.Substring(line.LastIndexOf('.')+1,3)=="xml"){result.Append(line);result.Append("\n");}line=reader.ReadLine();}if(string.IsNullOrEmpty(result.ToString())==true||result.ToString().Length0){DownLoad(localFolder,downloadFiles);}reader.Close();response.Close();_job_Message+="本次读取到的文件列表为:"+result;///删除FTP上的文件DeleteFileName(localFolder,downloadFiles);}}catch(Exceptionex){_job_Err_Message+="3.从FTP远端主机的根目录下获得文件列表时发生的错误讯息:"+ex.Message.ToString()+"";downloadFiles=null;}}

Ⅶ 如何判断ftp上是否存在某一文件或文件夹

Shell 判断FTP上某个路径、文件是否存在:
#bin/bash
#进入该目录,把文件down在这里
cd /opt/
#某个路径的某个文件变量定义
f1=/file1/file2/filename;
ftp -i -v -n 192.x.x.x <<ok
use ftpuser ftppasswd
binary
get ${f1}
bye
ok
if [ -f /opt/filename ] ;then
echo "the ftp filename exist.";
fi
exit 0
#首先要知道ftp上的路径和文件的名字,如果不知道的话,用通配符也可以,但是路径得知道,总不能全部下载下来吧。。。还有,ftp能登录、用户名、密码应该不会有问题吧,就没判断了。

热点内容
c语言取小数点 发布:2025-05-16 04:22:26 浏览:378
公司权力配置有哪些问题 发布:2025-05-16 04:21:43 浏览:923
tcl电视怎样删了缓存 发布:2025-05-16 04:16:56 浏览:211
收费数据库 发布:2025-05-16 04:06:43 浏览:347
编译程序时跳转到另一个文件 发布:2025-05-16 04:03:42 浏览:249
清除exe用户名密码缓存 发布:2025-05-16 04:02:04 浏览:608
mu2需要什么配置 发布:2025-05-16 03:59:05 浏览:406
怎么设置电脑开机密码和屏幕锁 发布:2025-05-16 03:07:05 浏览:56
华为锁屏密码忘记了怎么解锁 发布:2025-05-16 03:06:26 浏览:475
安卓文字为什么没有苹果舒服 发布:2025-05-16 03:01:26 浏览:358