Re: HINT: download all files from remote folder (General questions)
Hi,
U can write following piece of code in VC to do the same.
write a function called FindFiles which will return List of all the
files [',' SEPARATED] in a given directory except directory in it.
ex:
BOOL FindFiles(CString sDir, CString & sList)
{
CString sFiles;
BSTR bstrList;
USES_CONVERSION;
HRESULT hr=NULL;
hr = m_FtpCom->ListNames((_variant_t)sDir.AllocSysString());
if(!SUCCEEDED(hr))
return FALSE;
hr = m_FtpCom->get_ListItem(&bstrList);
if(!SUCCEEDED(hr))
return FALSE;
sFiles.Format(_T( s ),bstrList);
CString Sfile,Sdir;
int index1,index2;
while(sFiles.GetLength()!=0)
{
index1=sFiles.Find(_T( / ));
index2=sFiles.Find(_T(
));
if(index2<index1 || index1 == -1)
{//here u will get the filename
Sfile= sFiles.Left(index2-1);
sFiles=sFiles.Right(sFiles.GetLength()-index2-1);
sList = sList + Sfile + _T( , );
}
else
{//here u will get the directory name
Sdir= sFiles.Left(index2-1);
sFiles=sFiles.Right(sFiles.GetLength()-index2-1);
}
}
if(sList.GetLength()>0)
sList=sList.Left(sList.GetLength()-1);
//sList now contains the list of all the filenames[','
SEPARATED present in the given directory.
}
//USE THE ABOVE FUNCTION TO GET THE LIST OF FILENAMES
//set csFiles = sList
while(csFiles.GetLength()>0)
{
iIndex = csFiles.Find(_T( , ));
if(iIndex !=-1 )
{
sFname = csFiles.Left(iIndex);
csFiles = csFiles.Right(csFiles.GetLength()-iIndex-1);
}
else
{
sFname = csFiles;
csFiles=_T( );
}
//since u have the filename here use GetFile method
}//end of while loop
//at the end of this while loop u have all the files at the desired location
Regards
Sumeet
Complete thread:
- HINT: download all files from remote folder - wodSupport, 2004-11-21, 18:57
- Re: HINT: download all files from remote folder - sumeetkoshal, 2005-01-04, 11:05