用FtpFindFirstFile查找一个文件,然后直接再用FtpFindFirstFile查找另一个文件,不行吗

时间:2022-03-30 03:43:07
我使用下面的方法判断ftp目录db下是否存在KSI07002和KSI07003这两个文件
hFindFile =FtpFindFirstFile(lnginetconn, "/db" & "/" & "KSI07002", lpFileData, 0, 0)
if hFindFile then msgbox "KSI07002存在"
hFindFile =FtpFindFirstFile(lnginetconn, "/db" & "/" & "KSI07003", lpFileData, 0, 0)
if hFindFile then msgbox "KSI07003存在"
服务器目录db下这两个文件都存在,但是只有第一个可以找到,第二个就找不到了,为什么啊,难道还要重新连接?

9 个解决方案

#1


自己顶一下  

#2


使用2次FtpFindFirstFile貌似不好用哦~~~~~~~~~~~~~

可以再用FtpFindNEXTFile
找下一个...........

#3


'请问如何检测网络文件? 
' 试试这两个 
' Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal szPath As String) As Long 
'这个函数,既可以判断本地文件是否存在,又可以判断远程电脑上的文件是否存在。函数返回值是个Long型变量,返回两个值0,1。1表示文件存在(True),0表示文件不存在(False)。而且只有一个参数szPath,是个字符串变量,如果要判断本地的文件是否存在其路径可写为:”C:\Windows\Config\SysBook.Txt”),如果文件在远程电脑上,其路径可写为(假设对方电脑IP为192.168.0.2) 
'"\\192.168.0.2\d$\javatools\somefile.txt",如果其电脑名为WorkStation可写为 
'“\\workstation\javatools\somefile.txt",当然这个函数还可以查找网站上的网页文件如:"http://www.microsoft.com/ms.htm" 
  
'还有另外一个API 
'Private Declare Function SHFileExists Lib "shell32" Alias "#45" (ByVal szPath As String) As Long 
'请问如何检测网络文件?  
""""""""""""""""""""""""""""""""""""""""""""""""""""""""
还可以看下这俩个...........
我现在没有环境   测试不了....

#4


KSI07002 是不是目录
如果是目录的话,那程序将在
KSI07002/ 下面寻找KSI07003 

你你的文件中
KSI07003 
KSI07002是同级别的

#5


FtpFindFirstFile
在FTP服务器上查找符合条件的文件或目录, 需要InternetConnect返回的会话句柄


InternetFindNextFile
在FTP服务器上继续查找下一个符合条件的文件或目录,需要FtpFindFirstFile返回的会话句柄
 

#6


两个都是文件而且在同一目录下

#7


你找下我说的那俩个API的用法
可以实现

#8


  遍历可以不!?

#9


FtpFindFirstFile is similar to the FindFirstFile function. Note, however, that only one FtpFindFirstFile can occur at a time within a given FTP session. The enumerations, therefore, are correlated with the FTP session handle. This is because the FTP protocol allows only a single directory enumeration per session.

After calling FtpFindFirstFile and until calling InternetCloseHandle, the application cannot call FtpFindFirstFile again on the given FTP session handle. If a call is made to FtpFindFirstFile on that handle, the function fails with ERROR_FTP_TRANSFER_IN_PROGRESS. After the calling application has finished using the HINTERNET handle returned by FtpFindFirstFile, it must be closed using the InternetCloseHandle function.

#1


自己顶一下  

#2


使用2次FtpFindFirstFile貌似不好用哦~~~~~~~~~~~~~

可以再用FtpFindNEXTFile
找下一个...........

#3


'请问如何检测网络文件? 
' 试试这两个 
' Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal szPath As String) As Long 
'这个函数,既可以判断本地文件是否存在,又可以判断远程电脑上的文件是否存在。函数返回值是个Long型变量,返回两个值0,1。1表示文件存在(True),0表示文件不存在(False)。而且只有一个参数szPath,是个字符串变量,如果要判断本地的文件是否存在其路径可写为:”C:\Windows\Config\SysBook.Txt”),如果文件在远程电脑上,其路径可写为(假设对方电脑IP为192.168.0.2) 
'"\\192.168.0.2\d$\javatools\somefile.txt",如果其电脑名为WorkStation可写为 
'“\\workstation\javatools\somefile.txt",当然这个函数还可以查找网站上的网页文件如:"http://www.microsoft.com/ms.htm" 
  
'还有另外一个API 
'Private Declare Function SHFileExists Lib "shell32" Alias "#45" (ByVal szPath As String) As Long 
'请问如何检测网络文件?  
""""""""""""""""""""""""""""""""""""""""""""""""""""""""
还可以看下这俩个...........
我现在没有环境   测试不了....

#4


KSI07002 是不是目录
如果是目录的话,那程序将在
KSI07002/ 下面寻找KSI07003 

你你的文件中
KSI07003 
KSI07002是同级别的

#5


FtpFindFirstFile
在FTP服务器上查找符合条件的文件或目录, 需要InternetConnect返回的会话句柄


InternetFindNextFile
在FTP服务器上继续查找下一个符合条件的文件或目录,需要FtpFindFirstFile返回的会话句柄
 

#6


两个都是文件而且在同一目录下

#7


你找下我说的那俩个API的用法
可以实现

#8


  遍历可以不!?

#9


FtpFindFirstFile is similar to the FindFirstFile function. Note, however, that only one FtpFindFirstFile can occur at a time within a given FTP session. The enumerations, therefore, are correlated with the FTP session handle. This is because the FTP protocol allows only a single directory enumeration per session.

After calling FtpFindFirstFile and until calling InternetCloseHandle, the application cannot call FtpFindFirstFile again on the given FTP session handle. If a call is made to FtpFindFirstFile on that handle, the function fails with ERROR_FTP_TRANSFER_IN_PROGRESS. After the calling application has finished using the HINTERNET handle returned by FtpFindFirstFile, it must be closed using the InternetCloseHandle function.