Inetを利用してファイルをサーバにPutするには?

解決


もんど  2004-02-11 17:48:12  No: 81956  IP: [192.*.*.*]

VBの超初心者ですので、足りない情報がありましたら、教えてください。
行いたいことはPCで作成したファイルをUNIXサーバの特定の場所に置きたいということです。ファイルはただのアスキーのテキストです。

いろいろ調べた結果、下記のように行えばできるかと思って書いてみました。
    Inet1.URL = "ftp://servermachine"  ' FTPアドレスを指定
    Inet1.UserName = "daresore"            ' ユーザ名を指定
    Inet1.Password = "password"       ' パスワードを指定
    Inet1.Protocol = icFTP             ' 接続方法を指定
    
    Inet1.Execute , " CD /usr/tmp"
    ' アップロード処理を行う
    Inet1.Execute , "PUT C:\Documents and Settings\Administrator\My Documents\hogehoge.txt hogehoge.txt"

    Inet1.Execute , " quit"

servermachineには直接FTPができることは確認しています。VBでこのプログラムだとうまくいきません。

    vtData = Inet1.GetChunk(1024)

    これでFTP先のディレクトリが今どこにいるかを確認したり"DIR"の結果をみたところ、きちんと正しく返ってきているのが確認されました。結局、ファイルを置くPUTコマンドだけがきいていないようですが、何かプロパティの設定もしくは別の確認すべきところを忘れているのでしょうか?

もんど

編集 削除
魔界の仮面弁士  2004-02-11 18:26:05  No: 81957  IP: [192.*.*.*]

>  Inet1.Execute , "PUT C:\Documents and Settings\Administrator\My Documents\hogehoge.txt hogehoge.txt"
ヘルプの『Execute メソッド』の項には、
    「スペース文字の含まれたファイル名はサポートされていません」
という記述がありますよね。

空白を含まないパス名(ショートファイル名)で指定しても駄目ですか?

編集 削除
もんど  2004-02-11 19:08:11  No: 81958  IP: [192.*.*.*]

ありがとうございます。それが原因でした。
MSDNをインストールしていないので、
Web上でその説明を懸命に探していたんです。
結局、一度、スペースの内ディレクトリにコピーをしてから
PUTを実行するということで解決しました。

本当にありがとうございました。
もんど

編集 削除