1.Linux下启动ftp
2.连接FTP
3.进入FTP目录
4.查看目录文件数
ls -l 普通文件就是以 - 开头,文件夹以 d 开头,grep 后面接正则表达式:^- 以 - 开头的匹配。
扩展资料:
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
使用NetFTP可以获取文件列表,首先您需要通过输入服务器地址登录,登录后可以获取文件列表,您可以根据不同的文件夹查看其中的文件信息。您可以利用NetFTP上传或下载文件,也可以根据文件类型搜索文件。/// <summary>/// 获取ftp服务器上指定文件夹的文件列表(包含文件大小)
/// </summary>
/// <param name="ServerIP"></param>
/// <param name="USERID"></param>
/// <param name="PassWord"></param>
/// <param name="path"></param>
/// <returns></returns>
public Dictionary<string, int>GetFTPList(string ServerIP, string USERID, string PassWord, string path)
{
Dictionary<string, int>dic = new Dictionary<string, int>()
if (path == null)
path = ""
FtpWebRequest reqFtp
try
{
reqFtp = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ServerIP + "/" + path))
reqFtp.KeepAlive = false
reqFtp.UseBinary = true //指定ftp数据传输类型为 二进制
reqFtp.Credentials = new NetworkCredential(USERID, PassWord)//设置于ftp通讯的凭据
reqFtp.Method = WebRequestMethods.Ftp.ListDirectoryDetails //指定操作方式
WebResponse response = reqFtp.GetResponse() //获取一个FTP响应
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("GB2312")) //读取响应流
string line = reader.ReadLine()
while (line != null)
{
if (line != "." &&line != "..")
{
int end = line.LastIndexOf(' ')
int start = line.IndexOf("")
string filename = line.Substring(end + 1)
if (filename.Contains("."))
{
line = line.Replace(filename, "")
dic.Add(filename.Trim(), int.Parse(line.Substring(start).Trim()))
}
}
line = reader.ReadLine()
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message)
}
return dic
}
文件夹或者某一文件都适用
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)