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で質問しましょう!
似たような質問が見つかりました
- サーバー FTPサーバについて詳しい方(アクセス権のないディレクトリを非表示にする方法) 4 2022/08/22 22:33
- サーバー Laravelをレンタルサーバーにインストールするにはどうすればいいですか? 2 2022/06/29 10:17
- プロバイダー・ISP hpb22の接続方法の変更 1 2023/08/06 18:47
- サーバー Googleドライブなどを使わずにテザリングAndroidでWindowsとファイル共有 1 2023/02/19 13:14
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
- ドメイン・サーバー・クラウドサービス FileZillaを使用してwpXサーバーに接続できない 2 2022/03/29 21:02
- サーバー サクラサーバーについてゾーン設定について教えてください 1 2023/06/11 02:16
- USBメモリー・SDカード・フラッシュメモリー プリンタのドライバーをUSB Flash Diskに保存したい。 4 2023/05/23 23:30
- WordPress(ワードプレス) WordPressのサイトにPDFをアップロードした際にGoogleなどの検索結果に出ないでほしい 1 2022/08/03 10:44
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行して 作業フォルダの中にある PDFファイル名を 3 2023/07/01 15:16
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチ終了時にDOS窓を閉じるコ...
-
バッチファイル 文字列にスペ...
-
コマンドプロンプトをクリック...
-
ショートカットをデスクトップ...
-
make test って何をするための...
-
コマンドプロンプト
-
2つ目の「pause」は無効?
-
C言語で、string.h conio.hを使...
-
DOSコマンドで指定日数よりも過...
-
findstrでヒットした1行前の文...
-
AccessVBAで実行時間を指定する...
-
コマンドプロンプトのERRORLEVE...
-
FTP送信エラーの検知について
-
SSH接続でwindowsサーバのコマ...
-
コンピュータ名をファイル名に...
-
コマンドプロンプトのバッチで...
-
バッチファイル
-
フォルダ、ファイル操作に最適...
-
gitのpatch当ての方法
-
バッチファイルを使ってテキス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ終了時にDOS窓を閉じるコ...
-
バッチファイル 文字列にスペ...
-
make test って何をするための...
-
コマンドプロンプトをクリック...
-
ftpコマンドを実行すると「425 ...
-
ショートカットをデスクトップ...
-
バッチコマンドのIF文(条件...
-
シェルの「:コマンドが見つか...
-
バッチファイルを使ってテキス...
-
コマンドプロンプトでファイル...
-
コマンドプロンプトで、特定の...
-
findstrでヒットした1行前の文...
-
コンピュータ名をファイル名に...
-
Pythonで単純にファイルを結合...
-
AccessVBAで実行時間を指定する...
-
コマンドプロンプトのERRORLEVE...
-
BATファイル作成時の記述に...
-
SSH接続でwindowsサーバのコマ...
-
バッチファイルでdiskpart.exe...
-
DOSコマンドで指定日数よりも過...
おすすめ情報