• 締切済み

VBでフォルダ単位のFTP

VBでフォルダ単位のFTP(GET,PUT)はできるのでしょうか? また、そのサンプルファイルがありましたら、教えて下さい。 ファイル単位での、サンプルファイルはあったのですが、 それを、フォルダ単位に改造する知識がまだないのです。 よろしくお願い致します。

みんなの回答

  • project-a
  • ベストアンサー率54% (107/195)
回答No.6

MSのホームページにサンプルがあります。 フォルダ単位の転送では有りませんが、参考になると思います。 私はこれを参考にして、FTPルーチンを作成しました。

参考URL:
http://www.microsoft.com/JAPAN/support/kb/articles/JP175/1/79.HTM
  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.5

>まだ始めたばかりで基礎知識 を習得したぐらいなので とありますがVBをですか? それともVBはある程度経験があって、FTPを行う通信関係に対しての「始めたばかり」ですか? もしVBの経験があまりないと、ちょっと難しいかもしれません。 FTPのソフトは(たぶん)VBの標準関数では作成できないと思います。そこで言語を問わずに実行可能なAPI関数を使用します。サンプルはそのAPI関数をたくさん使用してます。 サンプル見ました?API大丈夫ですか?それとも、見当違いの回答を返しました?

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.4

iNetTransfer(市販OCX)を使うという手もあります。 フォルダ単位のGET/PUTが一発で出来るというわけでもないが.. API関数で作るよりは簡単です。

参考URL:
http://www.boc.co.jp/support/database/P1_56.htm
  • itohh
  • ベストアンサー率45% (210/459)
回答No.3

こんにちは。itohhといいます。 ディレクトリ単位でのコピーはサポートしていないと思うのですが。 わたしが、FTPで(手作業で)行うときは、 1.CDコマンドで目的のディレクトリに移動する。 2.MKDIRコマンドで新規ディレクトリを作成する。 3.PUTコマンドでファイルをコピーする。 4.QUITコマンドでFTPを終了する。 この手順をVBのコードに直して実行すれば良いのではないでしょうか?

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.2

こんにちは 田吾作7@通信苦手です。。。 二つ例を挙げておきますね。 kernel32.dllを使用した場合 http://www.mitene.or.jp/~sugisita/family/papa/vb/ 上記URLのコンポーネントの中のFTPクラスにサンプルがあります。 Wininet.dllを使用した場合 http://www.int21.co.jp/pcdn/vb/onepoint/knvol0812.html ちなみにフォルダを丸ごとのアップというのは無理だったような・・・ 何かFTPソフトを使用してますよね? ぼくもの使用してるFTPソフトは、処理状況をステータスバーで表示してあるので、処理内容が何となく想像がつきます。 ローカルディスクと同じ構造でアップロードするというボタンがあるのですが、やってる事は、ファイルを1つずつアップして、フォルダがあれば作成して、その中のファイルをアップして・・・というようなことを最も下位層のフォルダ内のファイルまでのループ(再帰法?)をしてるようです。

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.1

FTPソフトを作成するのですか? GET,PUTとは?UpLoad,DownLoadという意味ですか?

asami55
質問者

補足

こんにちは! TAGOSAKU7さん。 >FTPソフトを作成するのですか? はい。 クライアントのVBから、サーバにFTP(フォルダ単位)に 行うソフトを作りたいのです。 まだ始めたばかりで基礎知識 を習得したぐらいなので、できればサンプルソフトを改造したい と考えております。 >GET,PUTとは?UpLoad,DownLoadという意味ですか? はい。 その通りです。 よろしくお願いいたします。

関連するQ&A

  • VB6.0でFTPでのファイルの送受信

    VB6.0でFTPでのファイルの送受信(下記(1))をしようと考えております。 尚、コンポーネントは、インターネットトランスファコントロール(Inet)を使用しております。 (1)"リモートサーバーに対して、複数件のファイルを送信し、無事転送が完了したら(リモートサーバー の指定フォルダに送信された複数件のファイルがあるのを確認後)、  クライアント側のファイル(リモートサーバーに送信が済んだファイル)を消す" という処理を考えております。 ここで、質問なのですが (1)vbを使ったFTP転送で、複数件のファイルを一括転送(mputコマンドの使用)は、可能か?  (2)もし、(1)が不可能の場合、    "送信するファイルをputコマンドで1つ送って、リモート側にそのファイルがあるのを    getコマンドで確認して、もしgetであれば、クライアント側のそのファイルを消す" という処理を送信するファイル数分繰り返すことになるんですか?        1つのファイルの場合に、Inet1_State_Changeイベントで、ループさせstate = 12 の時( リモート側に正常に送信されたと考えて)、クライアント側のファイルを消していいのでしょうか?    VBのヘルプを見ると、state = 12 は、get処理で使用するというようなことを書いてありますが。     以上 

  • FTPのgetとputの使いわけ。

    FTPについてですが、getとputのどちらを使えばいいのかいまいち理解できません。FTPで入ったマシンからみてget,putなのか、ファイルのある側からみてget,putなのかどちらなのでしょうか? 教えてください。

  • FTPのPUT、GETについて

    FTPのPUT、GETについてお教え下さい。現在サーバーの設定は完了し、DOS画面よりFTPでPUTを行っているのですが、送信先となるサーバーにファイルサイズがゼロのファイルが作成され、途中で止まった状態になってしまいます。GETも同様でサーバーからクライアントにファイルを取得はしているのですが、ファイルサイズがゼロのファイルが作成され止まった状態になってしまいます。また、他のサーバーでPUT、GETを行うとPUT、GET共にファイルの取得も送信も出来ます(クライアントは同じPCを使っています)。やはりサーバーの設定が足りないのでしょうか? どなたか対策方法をご存知の方がいましたらお教え下さい。よろしくお願い致します。

  • SHELLでFTP転送

    初心者ですみません。 SHELLを使ってファイルをFTP転送(GET・PUT)するプログラムを組みたいのですが そのサンプルのようなものはありますでしょうか? パラメータとして 転送元 サーバ名 転送元 ディレクトリ名 転送元 ファイル名 転送先サーバ名 転送先ディレクトリ名 を考えています。 よろしくお願い致します

  • FTPで、フォルダコピー

    FTPを使って、フォルダをまるごとコピー(PUT)したいのですが、 どうすればよいでしょうか? バッチを使って一括で送りたいと思っています。 圧縮して転送は、考えていません。 よろしくお願いします。

  • FTPでリモートにある旧いファイルを削除する

    基本的な質問ですが教えて下さい。 FTPをコマンドから操作してます。権限的にはPUTやGET、DELETEなど一通りできます。 いま、あるフォルダにある一定期間を過ぎた旧いファイルのみを選択的にデリートしたいのですが、どうやったらいいのでしょう?

  • FTPについて

    puttyを使用していますが、サーバーへのFTPができなくて困っています。 WinSCPというソフトウエアを使用したところ、アクセス権がありませんとエラーになってしまいます。 また、put ファイル名 や get ファイル名 と入力するとエラーになってしまいます。 どのようにすればいいのでしょうか?よろしくお願いします。

  • FTPのPUT、GETについて

    FTPのPUT、GETコマンド使用時に、元のファイルはそのまま残りますか?

  • windows機へのFTPのputが出来ない

    IISを導入し、Windows標準のFTPサーバーを立ち上げ、 UNIX機からwindows機へファイルのput処理をしたいのですが、どうしてもputできません。 (getはできました) FTPログイン時のホームディレクトリ?の C:Inetpub\ftprootフォルダの設定(Web共有、共有)をいじってみましたが駄目でした。 どのように設定すれば、putできるようになるのか どなたかご教授いただけませんでしょうか? できれば、このホームディレクトリも別のフォルダに 変更したいのですが、それは可能でしょうか? 併せてご教授ください。 Windows機の概要 OS:Win2000professional SP3

  • FTP 転送コマンド

    Free BSD4.8でFTPを使いputコマンドでフォルダ(ディレクトリ)ごと転送するとnot a plain fileとエラーがでました。フォルダごと転送するにはどうすればいいでしょうか。もしくはそのディレクトリのファイル全てをまとめて putするにはどうすればいいでしょうか?よろしくおねがいします。

専門家に質問してみよう