環境VC++6.0 windows
FTP接続先から、フォルダを、サブフォルダとファイルごと全てコピーし、削除する処理
です
接続先 D:/FTPホーム/hoge/写したいフォルダ/サブフォルダ/ファイル
↓
移動先 D:/ftpホーム/hogehoge/写したいフォルダ/サブフォルダ/ファイル
という形にしたいです
現在、FTP接続はできていて、/FTPホーム/hoge/ファイルという形のファイルのみなら、
コピーできています。
いろいろ調べて、GetFilePathを使って、写したいフォルダ名をCStringに入れ、
SHFileOperationを使ってやろうとしているのですが、上手くいきません。
よろしければ、助言をお願いします。
CString FromDir = D:\FTPホーム\hoge/copydir
CString ToDir = D:\ftpホーム\hoge
FromDir +=0;
ToDir +=0;
FromDir.SetAt(FromDir.GetLength()-1,NULL);
ToDir.SetAt(ToDir.GetLength()-1,NULL);
SHFILEOPSTRUCT FileOp;
FileOp.wFunc = FO_COPY;
FileOp.pFrom = FromDir;
FileOp.pTo = ToDir;
FileOp.fFlags = FOF_NOCONFIRMMKDIR;
int ret = SHFileOperation( &FileOp);
コピーじゃなくて移動なの?
だったら、hoge を hogehoge にリネームするだけじゃダメ?
あと、これは FTP サーバ内で動くプログラムということでいいの?
それとも、クライアント側?
hogeは接続されるパソコン側に元々あるフォルダ、
hogehogeは接続するパソコン側に元々あるフォルダでなので、
リネームじゃ駄目です。
説明が下手ですみませn
サーバー側で動くプログラムで、クライアントのデータを取得したいと考えています
> hogeは接続されるパソコン側に元々あるフォルダ、
> hogehogeは接続するパソコン側に元々あるフォルダでなので、
hoge がサーバ側、hogehoge がクライアント側?
サーバからクライアントに移動するということですか?
それだと、
> サーバー側で動くプログラムで、クライアントのデータを取得したいと考えています
とは逆のような気がしますけど。
> CString FromDir = D:\FTPホーム\hoge/copydir
> CString ToDir = D:\ftpホーム\hoge
これだと、From も To も同一のマシン上にあることになりますが、そうじゃないんです
ね?