WEB Win標準装備FTPexeを使いVBAで操作-6

VB&VBA
FROG ふろっぐ
 
  • オプション

    本文印刷

    お気に入りに追加

  • 検索

    Googlewwwjp-ia
     

    Googlewwwjp-ia
     
  • 情報

  • 関連

[VB&VBA][WEB Win標準装備FTPexeを使いVBAで操作-6]
  • MS-DOSコマンドプロンプトでFTPexeを操作する
  1. [バッチファイル](.bat又は.cmd)
  2. [コマンドファイル](.txt)スクリプトファイル
  3. の作成とバッチの実行
  4. 既にサーバ側にファイルをお持ちの方は実行動作確認テストをしてから行って下さい
system32_ftpexe06/01.jpg
  1. アップするファイルを用意
  2. 例ではhtmファイル
  3. を3つ用意
  1. バッチファイル名は任意でOK
  2. テキストファイルで作成後
  3. 拡張子を.batに変更
  4. 例ではtest.batとした
  5. 同じ階層にコマンドファイルを作成
  6. 例ではftptest.txtとしたが任意ファイル名でもOK
  1. バッチファイルは
  2. 右クリックの編集で簡単に編集可能
system32_ftpexe06/04.jpg
  1. バッチファイル(シェルスクリプト)
  2. test.batの内容
  3. echo off
    ftp -vni -s:ftptest.txt
  4. echo offはメッセージを非表示する
  5. @ftp A-vni
  6. @ftp.exeを起動
  7. Aコマンド組み合わせ(下表)
  8. B-s:Cftptest.txt
  9. Bコマンドファイル指定(下表)
  10. Cftptest.txtを指定
ftp-Windowsコマンド詳細
コマンド 動作 記述例
-a データ接続バインドのローカル・インターフェース使用 -a
-A 匿名ログオン -A
-D コマンド表示(デバッグ) -D
-G ファイル名[globbing]無効 -G
HOST サーバーコンピュータ名及びIPアドレスを指定 HOST
-I 対話型プロンプト非表示 -I
-N 自動ログオン機能無効(初回接続) -N
-S コマンドファイル指定 -S:XXX.txt
-V サーバー応答非表示 -V
-W 転送バッファサイズ指定(デフォルト4096byte) -W:3000
  • *.jpg *.gif *.png など画像ファイルの場合は
  • Cでバイナリモード指定
  • 又、フォルダ(ディレクトリ)単位でのUPは出来ないのでサーバ側に該当フォルダが無い場合は先ず作成してからUPすること(すべてコマンドファイルで可能です
  • どうしてもエラーになる場合はGのquitを消してみる
  • それでも判明しない場合は上記プラス+バッチファイルの-vniの箇所を-nに変更して実行
  • 意味が判らない場合は最初から読んで下さい。
※1コマンドファイル上では認識しますがバッチファイル(シェルスクリプト)では認識しません。
  1. コマンドファイル
  2. ftptest.txtの内容
  3. @open jp-ia.com
    Auser ***** *******
    Bhash
    Cascii
    Dcd www/test/
    Elcd C:\Temp
    Fmput *.htm
    Gquit
  4. @サーバオープン
  5. Aアカウント及びパスワード
  6. BMS-DOSに#で実行状況を表示(プログレスバー)
  7. Cアスキーモード指定
  8. Dサーバ上のディレクトリ移動(サーバの殆どが多言語非対応・UNIX系なので大文字小文字区別で英数のみで指定
  9. Eローカル(UPするフォルダ)移動。こちらはローカル上なので日本語や空白は認識※1する。
  10. F複数ファイルをアスタリスクで指定(複数指定方法は「a*」等自由だが拡張子を無視した場合は画像ファイル等のバイナリモードでの実行が必要なものもあるので注意が必要)
  11. G終了
  12. コマンド詳細は前ページ
  1. アップロード先のディレクトリー
  2. 現在は空
  1. バッチファイルの実行
  2. 右クリック・開く又はダブルクリック
  3. 途中で停止したい場合
  4. キーボード[Ctrl] + [C]
  1. 実行後のアップロード先ディレクトリー
  1. バッチファイルが
  2. コマンドファイルの内容を読み取り
  3. 実行したMS-DOSの内容
  • この方法は理解する上でのテスト的なものです
  • この方法では以下の問題に直面致します
  • @UPするディレクトリが複数又は大量にある場合
  • すべてのディレクトリを指定した場合、無駄がある
  • Aコマンドファイルにパスワードを記述するためセキュリティ不全
  • 仮にコマンドファイルが複数存在する場合、その個々のコマンドファイルにアカウントとパスワードがセットで記述されており何処に何個あるか?等、管理が大変
  • BFTPexeはアップロード又はダウンロード中エラーが起きた場合(コネクション切断)でも再実行しない
  • その為、完全にアップロード又はダウンロード出来たかは実際に確認しないとならない
  • そこで@〜Bまでの問題を8〜9割、解決するのが最終章です。
  • プログラマーの方は別としてここまでが把握出来ないと最終章では難しくなるのできちんと把握が必要です。
  • 最終章に行く前にタスク登録方法もご覧下さい。
シリーズ関連リンク
WEB Win標準装備FTPexeを使いVBAで操作- 1 基本1
2 基本2
3 基本3
4 基本4
5 コマンド一覧
6 バッチファイル
7 タスク登録
8 VB又はVBAでの記述





Production Japan Import Application. Since 1998