当前位置:首页 » 文件管理 » cftp所有文件

cftp所有文件

发布时间: 2024-07-08 18:52:27

⑴ C语言实现从ftp下载、上传文件

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。
1.C语言可以使用CStdioFile函数打开本地文件。使用类CInternetSession 创建并初始化一个Internet打开FTP服务器文件。
CStdioFile继承自CFile,一个CStdioFile 对象代表一个用运行时函数fopen 打开的C 运行时流式文件。
流式文件是被缓冲的,而且可以以文本方式(缺省)或二进制方式打开。文本方式提供对硬回车—换行符对的特殊处理。当你将一个换行符(0x0A)写入一个文本方式的CStdioFile 对象时,字节对(0x0D,0x0A)被发送给该文件。当你读一个文件时,字节对(0x0D,0x0A)被翻译为一个字节(0x0A)。
CStdioFile 不支持Duplicate,LockRange,和UnlockRange 这几个CFile 函数。如果在CStdioFile 中调用了这几个函数,将会出现CNoSupported 异常。
使用类CInternetSession 创建并初始化一个或多个同时的Internet 会话。如果需要,还可描述与代理服务器的连接。
如果Internet连接必须在应用过程中保持着,可创建一个类CWinApp的CInternetSession成员。一旦已建立起Internet 会话,就可调用OpenURL。CInternetSession会通过调用全局函数AfxParseURL来为分析映射URL。无论协议类型如何,CInternetSession 解释URL并管理它。它可处理由URL资源“file://”标志的本地文件的请求。如果传给它的名字是本地文件,OpenURL 将返回一个指向CStdioFile对象的指针。
如果使用OpenURL在Internet服务器上打开一个URL,你可从此处读取信息。如果要执行定位在服务器上的指定的服务(例如,HTTP,FTP或Gopher)行为,必须与此服务器建立适当的连接。

⑵ 怎么用cftpconnection类编写向ftp server上传文件

为了与FTP Internet服务器通讯,必须先创建一个CInternetSession实例,然后创建CFtpConnection对象。创建CFtpConnection对象不采用直接方式,而是调用CInternetSession::GetFtpConnertion来创建并返回一个指向它的指针。

CFtpConnection类的成员

构造函数 CFtpConnection 构造一个CFtpConnection对象

操作 SetCurrentDirectory 设置当前FTP目录

GetCurrentDirectory 获取此次连接的当前目录

GetCurrentDirectoryAsURL 获取作为URL的此次连接的当前目录

RemoveDirectory 从服务器移去指定目录

CreateDirectory 在服务器上构造一个目录

Rename 将服务器上的文件改名

Remove 从服务器上移去一个文件

PutFile 将一个文件放到服务器上

GetFile 从连接的服务器上获取一个文件

OpenFile 在连接的服务器上打开一个文件

Close 关闭与服务器的连接

实例一:上传文件
CString strAppName = AfxGetAppName();
CInternetSession* pSession = new CInternetSession(strAppName);
CFtpConnection* pConn = pSession->GetFtpConnection("
10.46.1.232","Anonymous","",21);
pConn->SetCurrentDirectory("test");
CString strLocfile,strRemotefile;
strLocfile="C:\\cmd.txt";
strRemotefile="cmd.txt";
pConn->PutFile(strLocfile,strRemotefile,FTP_TRANSFER_TYPE_ASCII);
pConn->Close();
return 0;
实例二:Ftp的打开文件操作函数:OpenFile

⑶ FTP常用命令有哪些

网上抄的,好多... 你慢慢看吧

1)DIR--显示指定路径上所有文件或目录的信息
它的格式为"DIR [盘符:][路径][文件名] [参数]",比如"DIR E:\FF.M3U"。输入后回车则会显示出相关信息(如图1)。另外它还有几个参数:

/W:宽屏显示,一排显示5个文件名,而不会显示修改时间,文件大小等信息;
/P:分页显示,当屏幕无法将信息完成显示时,可使用其进行分页显示;
/A:显示具有特殊属性的文件,这里的属性有"H"隐藏、"R"只读等,我们可以输入"DIR *.* /AH"来显示当前目录下所有具有隐藏属性的文件;
/S:显示当前目录及其子目录下所有的文件,通过这个参数,我们可以进行某个文件或目录的查找,比如我们可以在"C:>"后输入"DIR *.DAT /S"来查找C盘中所有后缀名为DAT的文件。

几种参数可以同时使用,例如"DIR *.COM /W /P /S"。

2)MD--建立目录
它的格式为"MD [盘符][路径]",例如"MD TEMP"。
注意:该命令一次只能建立一个目录。

3)RD--删除目录格式为"RD [盘符][路径]"。
注意:该命令只能删除空目录,并且不能删除当前目录。

4)CD--进入指定目录
格式为" CD [路径]",例如"CD HAPPY"。
注意:只能进入当前盘符中的目录。其中"CD\"为回到根目录,"CD.."为回到上一层目录。

5)COPY--拷贝文件
格式为"COPY [源目录或文件] [目的目录或文件]",比如"COPY C:\*.COM D:\",我们也可以输入"COPY C:\Command.COM D:\Command.BAK"来进行文件拷贝并改名。
注意:使用该命令进行文件拷贝时,目的目录一定要存在。

6)DEL--删除文件
格式为"DEL [盘符][路径][文件名] [参数]",比如"DEL C:\DATA\*.BAK"。它有一个参数:"/P",可以使用户在删除多个文件时对每个文件都显示删除询问

7)REN--改名
格式为"REN [原名] [现名]",7.0以后版本的DOS都支持对文件名和目录名的修改,而以前的DOS只能修改文件名。

8)TYPE--显示文本文件
格式为"TYPE [文件名]",能对文本文件进行查看。

9)dis--磁盘复制

[功能] 复制出一个和原来磁盘内容一模一样的磁盘

[格式] disk 源驱动器名 目的驱动器名

[说明] 它的主要用途就是用来备份。比如我们的电脑在刚买来时,会随机附带一些设备驱动程序磁盘,这些驱动程序在以后都有可能用到,为防止这些磁盘的损坏,一定要将它们都备份一套,这时,使用disk命令是比较快捷和方便的。

10) deltree--删除目录树

[格式] [C:][path]DELTREE [C1:][path1] [[C2:][path2] […]]

[说明] 这个命令将整个指定目录树全部消灭,而不管它是否是只读、隐藏与否。使用应特别小心。它是一个危险命令。

11) mem--查看你的计算机内存有多少,以及内存的使用情况。

[格式] 直接键入mem命令

12) chkdsk--检查你的磁盘的使用情况。

[格式] chkdsk 磁盘名

[说明] 例如要检查A盘使用情况,就输入chkdsk A: ,检查c盘使用情况,就输入chkdsk C: ,如果直接输入chkdsk,就检查当前磁盘的使用情况。

13) sys--传递系统文件命令。将DOS的两个隐含的系统IO.SYS和MSDOS.SYS传送到目标磁盘的特定位置上,并将COMMAND.COM文件复制过去。完成后,目标盘成为DOS的启动盘。

[格式] [C:][path]SYS [C1:][path] d2:

[说明] 由于这几个文件需要复制到特定位置上,所以用COPY命令完成的复制未必能够启动机器。能过SYS命令,DOS可以将目标盘已占据特定位置的文件移动,并将系统文件复制到相应位置上。参数C1:path用来指明系统文件所在目录。如不指明,则缺省为当前盘的当前目录。所以这个命令一般要在源盘的根目录进行。

14) pass--设定DOS寻找.COM、.EXE、.BAT文件的所在目录

[格式] path=[[drive:]path[;…]]或path

[说明] 只打path没有参数时,只显示环境变量内容。有参数时,重新设置path变量。在没有指定path环境变量时,用户发出的命令,DOS首先判断其是否为内部命令,再查找当前目录中是否有主文件名是该命令的可执行文件,如果均不是,则显示信息“Bad command or filename”。如果发出了指定路径的命令,则在指定径中依次查找,仍找不到则出现上述提示。

15) cls--清除显示器屏幕上的内容,使DOS提示符到屏幕左上角。

[格式] cls

16) time--显示和设置DOS的系统时间

[格式] time [hh[:mm[:ss[.cc]]]

17) date--显示和设置DOS的系统日期

[格式] date [MM-DD-YY]

18) ver--显示正在运行的DOS系统版本号

[格式] ver

DOS的外部命令

DOS的外部命令就是一些应用程序,能够使用户的操作更加方便和深入。这些外部命令都是以文件的形式存在,Windows系统的DOS外部命令保存在Windwos主目录下的"Command"目录中。下面就让我们来看看常用的一些DOS外部命令。

1)FORMAT(Format.COM)--格式化命令
众所周知,新买的磁盘都必须经过格式化后方能使用,FORMAT命令可以完成对软盘和硬盘的格式化操作,格式为"FORMAT [盘符] [参数]",例如:"FORMAT A: /S"。它有两个常见的参数:

/Q:进行快速格式化;
/S:完成格式化,并将系统引导文件拷贝到该磁盘。

注意:该命令会清除目的磁盘上的所有数据,一定要小心使用

。如果进行了普通的格式化,那磁盘上的数据还有可能恢复,但如果加上了"/Q",那要恢复就比蹬天还难了。

2)EDIT(Edit.COM)--编辑命令
其实它就是一个文本编辑软件(如图3),使用它可以在DOS下方便地对文本文件进行编辑,格式为"EDIT [文件名] [参数]",它的参数不是特别实用,我在此就不多讲。

3)SYS(Sys.COM)--系统引导文件传输命令
它能够将IO.SYS等几个文件传输到目的磁盘,使其可以引导、启动。格式为"SYS [盘符]"

4)ATTRIB(Attrib.EXE)--文件属性设置命令
通过该命令,我们可以对文件进行属性的查看和更改。格式为"ATTRIB [路径][文件名] [参数]",如果不加参数则为显示文件属性。它的参数有" ?"和"-?"两种,"?"代表属性代号,这些代号有:"H"隐藏;"S"系统;"R"只读," "表示赋予,"-"表示去除。

5)XCOPY(X.EXE)--拷贝命令
该命令在"COPY"的基础上进行了加强,能够对多个子目录进行拷贝。它的参数比较多,但是最常用的是"/S",它可以对一个目录下属的多个子目录进行拷贝,另外"/E"可以拷贝空目录。格式为"XCOPY [源路径][源目录/文件名] [目的目录/文件名] [参数]"。

6)SCANDISK(Scandisk.EXE)--磁盘扫描程序
这个命令在实际的操作中有很大的用处,它能对磁盘进行扫描并修复,能够解决大部分的磁盘文件损坏问题。格式为"SCANDISK [盘符:] [参数]"下面是它的几个参数:

/fragment 〔驱动器名:\路径\文件名〕:使用这个参数可以显示文件是否包含有间断的块,我们可以通过运行磁盘整理程序来解决这个问题;
/all:检查并修复所有的本地驱动器;
/autofix:自动修复错误,即在修复时不会出现提示;
/checkonly:仅仅检查磁盘,并不修复错误;
/custom:根据Scandisk.ini文件的内容来运行Scandisk,Scandisk.ini是一个文本文件,它包含了对Scandisk程序的设置,其中的〔custom〕块是在加上"/custom"参数后才执行的,用户可以根据自己的不同情况来进行不同的设置;
/nosave:在检查出有丢失簇后直接删除,并不转化为文件;
/nosummary:不显示检查概要,完成检查后将直接退出程序;
/surface:在完成初步检查后进行磁盘表面扫描;
/mono:以单色形式运行Scandisk。

我们可以根据不同的情况来加上不同的参数。我们可以执行"scandisk /all /checkonly /nosave /nosummary"来完成对磁盘的检查并且自动退出,另外还可以编辑scandisk.ini文件中设置,再运行"scandisk /custom"。如果被损坏的文件比较多,我们可以使用"/autofix"来进行自动修复,不然会忙死你的。

7)CHKDSK(Chkdsk.EXE)--磁盘检查命令
它会检查磁盘,并会显示一个磁盘状态报告。格式为"CHKDSK [盘符:] [参数]",最常用的参数是"/F",可以对文件错误进行修复。

8)MOVE(Move.EXE)--文件移动命令

使用它可以对文件进行移动。格式为"MOVE [源文件] [目的路径]"。同时也可以使用通配符。

9)DELTREE(Deltree.EXE)--删除命令
这可是DEL命令的超级加强版,它不仅可以删除文件,并且会将指定目录和其下的所有文件和子目录一并删掉。使用它,我们可以很方便的对目录进行彻底的删除。格式"DELTREE [文件/路径] [参数]",参数有一个"/Y",使用时系统会对每个文件进行询问,回答"Y"后才删除。

10)FDISK(Fdisk.EXE)--分区命令
我们可以使用它对硬盘进行分区操作,我在下一部分会进行具体讲解。

以上就是常用的一些DOS外部命令,使用它们可以使你的操作更方便,同时也是进行系统修复所必不可少的。请大家好好地掌握每一个命令及其用处。

⑷ C# 获取Ftp某个目录下的所有文件(不要文件夹)

我在之前做过一个FTP的客户端工具。
drw 文件夹
-rw 文件(有扩展名或无扩展名)
我是根据服务端返回的报文进行分析获取的列表。
给你一些代码片段:
/// <summary>
/// 获取指定目录下的文件和文件夹。
/// </summary>
/// <param name="path">要获取的目录</param>
/// <param name="WRMethods">要发送到FTP服务器的密令。</param>
/// <returns></returns>
public string[] GetFileList(string path, string WRMethods)//从ftp服务器上获得文件列表
{
WebResponse response;
string[] downloadFiles;
int conut = 4;
StringBuilder result = new StringBuilder();
Connect(path);
if (FTPVariable.IsUseProxy_ftp)
{
reqFTP.Proxy = FtpProxy.GetFtpSelectProxy(FTPVariable.FtpCommand_transferProxyName);
}
reqFTP.ReadWriteTimeout = 12000;
//如果不应销毁到服务器的连接,则为 true;否则为 false。默认值为 true。
//
reqFTP.Method = WRMethods;
try
{
response = (FtpWebResponse)reqFTP.GetResponse();
goto Ftp_lbl_03;
}
catch (WebException webex)
{
GetReply(webex.Message);
if (ReplyCode == 530)// 未登录。
{
goto Ftp_lbl_04;
}
else if (ReplyCode == 550)
{
goto Ftp_lbl_04;
}
else
{
FtpManage.SetLog("获取列表超时,等候1秒后重试!");
goto Ftp_lbl_01;
}
}
Ftp_lbl_01:
try
{
FtpManage.SetLog("正在连接服务器 " + FtpRemoteHost);
response = GetRequest(path, WRMethods);
}
catch (WebException)
{
FtpManage.SetLog("获取列表超时,等候1秒后重试!");
downloadFiles = null;
System.Threading.Thread.Sleep(1000);
if (conut == 0)
{
goto Ftp_lbl_02;
}
conut--;
goto Ftp_lbl_01;
}
catch (Exception ex)
{
MSG.Show(ex.Message, Global.GetRS["msgTilteError"], MessageBoxButton.OK, MsgIco.Error);
FtpManage.SetLog("命令执行失败,原因:" + ex.Message);
downloadFiles = null;
return downloadFiles;
}
Ftp_lbl_03:
StreamReader reader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.Default);//中文文件名
string line = reader.ReadLine();
while (line != null)
{
result.Append(line);
result.Append("\n");
line = reader.ReadLine();
}
if (result.Length == 0)
{
return null;
}
// to remove the trailing '\n'
result.Remove(result.ToString().LastIndexOf('\n'), 1);
reader.Close();
response.Close();
FtpManage.SetLog("命令已成功执行");
return result.ToString().Split('\n');
Ftp_lbl_04:
FtpManage.SetLog(ReplyInfo);
return null;
Ftp_lbl_02:
FtpManage.SetLog("550 获取列表失败,无法连接远程服务器!");
FtpManage.ftpmanage.IsRefurbish = true;
return null;
}
/// <summary>
/// 获取指定目录下的文件和文件夹。
/// </summary>
/// <param name="path">要获取的目录</param>
/// <returns></returns>
public string[] GetFileList(string path)//从ftp服务器上获得文件列表
{
return GetFileList(FTPVariable.FtpURLhead + FtpRemoteHost + "/" + path, WebRequestMethods.Ftp.ListDirectory);
}

/// <summary>
/// 获取指定目录下的文件和文件夹。
/// </summary>
/// <returns></returns>
public string[] GetFileList()//从ftp服务器上获得文件列表
{
return GetFileList(FTPVariable.FtpURLhead + FtpRemoteHost + "/", WebRequestMethods.Ftp.ListDirectory);
}

/// <summary>
/// 获取目录和文件名,返回目录表。
/// </summary>
/// <param name="path">要获取的目录</param>
/// <returns></returns>
public string[] GetCatalog_FileList(string path)
{
string[] fountainhead = GetFileList(FTPVariable.FtpURLhead + FtpRemoteHost + "/" + path, WebRequestMethods.Ftp.ListDirectoryDetails);
string[] Catalog = null;
if (fountainhead == null)
{
return null;
}
Catalog = new string[fountainhead.Length];
for (int i = 3; i < fountainhead.Length; i++)
{
Catalog[i - 3] += fountainhead[i].Substring(55, fountainhead[i].Length - 55) + "&";//FileName
Catalog[i - 3] += fountainhead[i].Substring(30, 12) + "&";//FileSize
Catalog[i - 3] += fountainhead[i].Substring(42, 13) + "&";//AmendDate
Catalog[i - 3] += fountainhead[i].Substring(0, 3) + "&";
}
return Catalog;
}

⑸ 如何创建FTP文件夹

在server机器上创建两个用户!这些用户是用来登录到FTP的!我的电脑右键->管理->本地用户和组->用户->“右键”新建用户->输入用户名和密码再点创建就行了。
在C盘新建文件夹“C:\FTP上传”,并在此文件下新建“LocalUser”文件夹,并在此文件夹下创建“Public”(这个是公共文件夹)、“xxx”和“xxx1”文件夹(xxx和XXX1必须与创建的本地用户相同)。在C盘新建文件夹“C:\FTP下载”!并在每个文件夹里放不同的文件,以便区分。
安装IIS组件!在开始菜单里—>控制面板-〉添加或删除程序->添加/删除windows组件->应用程序服务器->详细信息->IIS-〉详细信息-〉FTP-〉确定-〉完成!这样就把FTP安装在服务器上了。
配置FTP服务器,创建上传和下载服务!创建上传服务器:右键FTP站点->选择新建FTP站点->描述可以根据自己的需要填写->地址一般都是server的地址,端口就用默认的21吧->因为是提供上传服务的,所以就用隔离用户啦->它的目录指向“C:\FTP上传”->访问权限要钩上“读取”和“写入”啦(图片上错了的~)->点击完成就把上传的服务创建好了!创建下载服务器:因为21号端口已经被占用所以我们就用2121端口!不隔离用户!它的目录指向“C:\FTP下载”!只有读取权限!就简单的几步我们就把一个FTP服务器创建好了
在XP主机上测试已经完成安装的FTP服务器!我们在XP主机上输入FTP服务器的IP地址FTP://192.168.1.2就能打开上传的FTP页面,输入FTP://192.168.1.2:2121就能打开下载页面了!我们还可以用之前创建的那两个用户去登录FTP服务器!因为只有上传服务提供了用户文件夹!所以只有登录到上传服务时才能打开用户文件夹!这个文件夹是用专用的,其它用是无法对里面的文件进行操作的!我们还能成功地在下载服务器里下载文件到XP主机上了。

热点内容
macbookpro选哪个配置 发布:2024-10-06 16:50:01 浏览:140
linux基础命令 发布:2024-10-06 16:37:59 浏览:410
微信小程序点餐系统源码 发布:2024-10-06 16:26:06 浏览:629
iis怎么配置https 发布:2024-10-06 16:23:55 浏览:39
我的世界rpg服务器背包位置 发布:2024-10-06 16:19:03 浏览:56
python的运行速度 发布:2024-10-06 16:19:02 浏览:803
怎么看qq绑定了微信账号密码是什么 发布:2024-10-06 16:04:41 浏览:772
安卓电视装软件对电视有什么影响 发布:2024-10-06 16:01:54 浏览:440
编程广播积木 发布:2024-10-06 16:01:42 浏览:88
听音乐有缓存文件吗 发布:2024-10-06 15:56:10 浏览:84