

No.2ベストアンサー
- 回答日時:
No.1の方が提示してらっしゃるように、CFtpConnection::Command()メソッドあるいはWin32のFtpCommand()関数を使って、コマンド文字列を直接送信するしかないと思います。
ただ、VC 6.0のMFCはCFtpConnection::Command()をサポートしていなくて、標準付属のPlatform SDKもFtpCommand()を含んでいない、とかいう話なので、VC 6.0用の最終版であるPlatform SDK Feb 2003を入手してインストールするか、下記のようにLoadLibrary()でwininet.dllから直接関数ポインタを取得して実行するか、あるいは最新版のVC++に移行するか、のいずれかだと思います。
#include <tchar.h>
#include <Windows.h>
#include <atlbase.h>
#include <WinInet.h>
BOOL FtpCommandA_DirectLoad(
HINTERNET hConnect,
BOOL fExpectResponse,
DWORD dwFlags,
LPCSTR lpszCommand,
DWORD_PTR dwContext,
HINTERNET* phFtpCommand
)
{
BOOL ret = FALSE;
LPCTSTR pModuleFName = _T("Wininet.dll");
HMODULE hDll = ::LoadLibrary(pModuleFName);
if (hDll)
{
typedef BOOL (WINAPI *TFuncPtrFtpCommandA)(HINTERNET, BOOL, DWORD, LPCSTR, DWORD_PTR, HINTERNET*);
LPCSTR pFuncName = "FtpCommandA";
TFuncPtrFtpCommandA pFtpCommandA = reinterpret_cast<TFuncPtrFtpCommandA>(::GetProcAddress(hDll, pFuncName));
if(pFtpCommandA)
{
ret = pFtpCommandA(hConnect, fExpectResponse, dwFlags, lpszCommand, dwContext, phFtpCommand);
}
else
{
ATLTRACE("Failed to get the address of the function \'%s\'.\n", pFuncName);
}
::FreeLibrary(hDll);
hDll = NULL;
}
else
{
ATLTRACE(_T("Failed to load \'%s\'.\n"), pModuleFName);
}
return ret;
}
としておいて、
{
CFtpConnection ftpConnection;
// ここで FTP 接続処理。
BOOL ret = ::FtpCommandA_DirectLoad(ftpConnection, FALSE, FTP_TRANSFER_TYPE_BINARY, "site chmod 755 target.bin", NULL, NULL);
// あるいは
BOOL ret = ::FtpCommandA_DirectLoad(ftpConnection, FALSE, FTP_TRANSFER_TYPE_BINARY, "quote site chmod 755 target.bin", NULL, NULL);
}
のようにコールする。
http://msdn.microsoft.com/ja-jp/library/4tw7dfy6 …
http://msdn.microsoft.com/en-us/library/aa384133 …
http://q.hatena.ne.jp/1125986373
No.1
- 回答日時:
詳しくは示せませんが…
SITE CHMOD 755 filename のようにコマンドを投げるしかないんじゃないでしょうか。quote が要ったかも…
MFC では直接そこまでサポートされてないですが、Microsoft の情報にコマンドを投げる例があったような。
参考URL:http://www.tohoho-web.com/wwwxx012.htm
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイル 文字列にスペ...
-
make test って何をするための...
-
VisioのVBAでユーザにファイル...
-
バッチファイルを使ってテキス...
-
ダブルクォーテーションのファ...
-
ftpコマンドを実行すると「425 ...
-
コンピュータ名をファイル名に...
-
コマンドプロンプトをクリック...
-
コマンドプロンプトで、特定の...
-
WSHで他のバッチを呼びその終了...
-
【LINUX】sudoコマンドについて
-
DOSコマンドに詳しい方、お知恵...
-
VB6.0 から RFIDタグを制御す...
-
シェルの「:コマンドが見つか...
-
シェルからpsqlコマンドでトラ...
-
バッチファイル
-
バッチコマンドのIF文(条件...
-
シェルスクリプト内のcdで、カ...
-
xCopyコマンドでネットワークご...
-
AccessVBAで実行時間を指定する...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイル 文字列にスペ...
-
コマンドプロンプトをクリック...
-
バッチ終了時にDOS窓を閉じるコ...
-
make test って何をするための...
-
ftpコマンドを実行すると「425 ...
-
シェルの「:コマンドが見つか...
-
バッチファイルを使ってテキス...
-
コンピュータ名をファイル名に...
-
DOSコマンドに詳しい方、お知恵...
-
xCopyコマンドでネットワークご...
-
AccessVBAで実行時間を指定する...
-
findstrでヒットした1行前の文...
-
ftpコマンド出力結果の取得
-
シェルスクリプト(.sh)で、10進...
-
バッチえファイルを編集するに...
-
VBA 特定文字含むファイル
-
VisioのVBAでユーザにファイル...
-
複数のフォルダを開くバッチフ...
-
コマンドプロンプトでファイル...
-
シェルスクリプト内のcdで、カ...
おすすめ情報