やりたいこと検索

バッチファイルを使ってFTPで自動アップロードする

 

目次

 

目的

ここでの目的は、FTPソフトウェア「FFFTP」を利用して、自分のパソコンにあるホームページなどのデータをインターネット上のサーバーに自動でアップロードすることです。

これには、FFFTPに備わっている「同期」処理を用います。「同期」とは、自分のパソコンとサーバー上のパソコンのファイルやフォルダ構成を全く同じにしてしまう処理のことです。

このFFFTPの同期処理とバッチファイルを組み合わせることで、自動アップロードを可能にします。これを応用すれば、ある時刻に定期的にサーバーにデータのアップロードが行えるようになります。

 

FFFTPのインストール

FTPとは

ホームページなどを更新する際、自分のパソコンからサーバーにデータをアップロードするのが、「FTP」と呼ばれるものを使用します。File Transfer Protocol(ファイル・トランスファー・プロトコル)の略称で、日本語では「ファイル転送プロトコル」と呼ばれます(「転送」しか日本語になってないですね…)。

「FTP」は、二つの異なるパソコン間でデータをやり取りを行う仕組みのことです。例えば、ホームページを更新したい時などに、自分のパソコンからホームページのサーバーにデータをアップロードするときにこの「FTP」が使用されています。

そして、この「FTP」という仕組みを使って、データのやり取りを行ってくれるソフトが「FTPソフト」です。FTPソフトを使えば、難しいことをよく知らなくてもマウス操作だけで簡単にデータのやり取りを行うことができます。

FTPソフトで有名なものの一つが、ここで紹介する「FFFTP」というソフトです。ここでの目的は、バッチファイルを使ってデータのやり取りの自動化を目的としています(例えば、ホームページの自動更新)が、「FFFTP」を利用した方法を紹介しますのでまずは、「FFFTP」をインストールして下さい。

 

FFFTPのダウンロードとインストール

以下のサイトから「FFFTP」をダウンロードします。

窓の杜 – FFFTPのダウンロード

上記のページへ移動すると、以下の画面が現れると思います。

赤丸で囲ったボタンをクリックすると、ダウンロードが開始されます。お使いのパソコンのバージョンに合わせて32bit版(上)か64bit版(下)を選んで下さい。自分のパソコンがどちらか分からないときは、「パソコンが32bitか64bitか確認する -コラム-」に確認方法を記載しています。

実はこのバージョンの違いはそんなに重要じゃないですので、とりあえず、上の32bit版を使っておけば問題ないと思っています(私の個人的な意見です)。64bitのパソコンでは32bit版も問題なく動くからです。

ボタンをクリックすると、「ffftp-X.XXx.exe」もしくは「ffftp-X.XXx-64.exe」といった実行ファイルがダウンロードされるでしょう。これを実行して、インストールを開始します。「FFFTPをインストールする -コラム-」を参照して下さい。

 

FFFTPの設定

FFFTPのアイコンをデスクトップに作成する

インストールが終わったら、次はFFFTPの設定を行います。まず、FFFTPのショートカットアイコンを作りましょう。既にデスクトップにアイコンがある方はこのプロセス(この節)は飛ばしてもらって構いません。

Windows10の方は左下の「何でも聞いてください」の欄に「FFFTP」と入力します。すると、以下の画像のように「FFFTP」が見つかるはずですので、それを「右クリック」して「ファイルの場所を開く」を選択します。(Windows7の方は、左下の「スタート」ボタンを押すと、「プログラムとファイルの検索」欄が現れるので、ここに「FFFTP」と入力します。あとは、Windows10の場合と同様です。)

ファイルの場所を開くと、FFFTPがインストールされた場所のフォルダが開きます(以下の図)。

この中にある「FFFTP(画像の一番上)」を「Ctrl+C」でコピーして、デスクトップに「Ctrl+V」で張り付ければ完成です。

 

FFFTPの設定

次に、FFFTPの設定です。デスクトップにあるアイコンをクリックしてFFFTPを起動してください。ここでは、FFFTPで「接続」したときの初期フォルダを設定します。後述するように、バッチファイルからFFFTPを自動で操作することになりますが、この設定を行っていないとまったく関係ないフォルダで処理を行ってしまうことになりますので、重要な設定です。

FFFTPを起動して下さい。ホスト一覧から目的のホストを選び、「設定の変更」をクリックします。すると、以下の図のような画面が表示されます。

この赤枠で囲まれた部分の設定を変更していきます。(※その他の「ホスト名」や「ユーザー名」などは既に設定済みとして話を進めます)

まず、「ローカルの初期フォルダ」をアップロードしたいフォルダに設定します。こちらは、自分のパソコンでのフォルダ位置となります。次に、「ホストの初期フォルダ」もアップロードしたいフォルダに設定します。こちらはネット上のサーバー側の設定になります。

この記事の初めに同期について説明しましたが、ここで設定したフォルダは同期処理されることになります。つまり、「ホスト側」のフォルダ内容を「ローカル側」のフォルダ内容と全く同じように置き換えますので、同じフォルダ・ファイル構成にしたい場所を設定して下さい。

 

FFFTPショートカットアイコンの設定

バッチ処理を行いたいフォルダを開いて下さい。注意して欲しいのは、データのアップロードをしたいフォルダ(前節のFFFTPのローカルの初期フォルダ)ではないということです。あくまで、アップロードの処理自体を行いたいフォルダです。私の場合は、以下のようにアップロードしたいフォルダの一つ前のフォルダをアップロード処理のフォルダとしています。

このフォルダに、デスクトップにある「FFFTP」のアイコンをコピーします。コピーしたアイコンを「右クリック」して「プロパティ」を開きます。Windows10では、以下のウィンドウが開きます(Windows7でもほとんど同様です)。

リンク先の設定は、上記の画像のように実行ファイルが指定してありますが、これにオプションを付けていきます。リンク先の設定を以下のように変更してください。

“C:\Program Files\ffftp\FFFTP.exe” -s “[ホスト名]” -m -f -q

初めの「”C:\Program Files\ffftp\FFFTP.exe”」の部分はそのままにしておきます。そのあとに、オプションを加えました。

「-s “[ホスト名]”」はFFFTPで開きたいホスト名を指定します。例えば、ホスト名が「test」の場合は、

“C:\Program Files\ffftp\FFFTP.exe” -s “test” -m -f -q

となります。

その他のオプションの意味は以下の表の通りです。

オプション 機能
-m 指定したホストに接続後、データのアップロード(同期)を行う
-f データのアップロード時に確認メッセージを表示しない
-q アップロード終了後、FFFTPを閉じる

FFFTPの設定は完成です。このFFFTPを実行すれば、FFFTPが開かれ、自動でアップロードした後、勝手に閉じてくれるはずです。

この時点で、一度、このFFFTPショートカットアイコンを実行して動作を確認してみましょう。※初めは必ずバックアップを行うか、別のテスト用フォルダで動作を確認して下さい。

 

バッチファイルの作成

前節までの設定ができれば、後はバッチファイルにFFFTPショートカットアイコンを実行するコマンドを記述するだけです。ショートカットアイコンは実行ファイルを実行しているので、「call」コマンドもしくは「start」コマンドでショートカットアイコンを指定してやればよいでしょう。以下のようになります。

ここで、アイコン名の後に、「.lnk」という拡張子が付くことに注意して下さい。「Windows エクスプローラー」上では見えませんが、ショートカットアイコンにはこの拡張子「.lnk」が隠れています。

また、「start」コマンドを使用する場合は「/w」オプションが必要です。これは、このコマンドの処理が終わるまで、バッチファイルの処理を進めないためのものです。詳しくは「start(バッチファイルやサブルーチンの呼び出し) -コラム-」や「call(バッチファイルやサブルーチンの呼び出し -コラム-)」を参照して下さい。

このコマンドを使って、

のようなバッチファイルを作成すれば完成です。ここまでできれば、次回からは、このバッチファイルをダブルクリックするだけですべてを行ってくれます。

さらに、バッチファイルのダブルクリックすらも自動化する場合は、「夜中に自動でバックアップを取る」をご覧下さい。こちらの記事では夜中に自動でパソコンを起動し、バッチファイルを実行した後、パソコンの電源を切るところまでを自動化する方法について紹介しています。

Windowsバッチファイル初心者へ向けた入門書を作成しました


Windowsバッチファイル初心者の方へ向けた入門書(PDF)を作成しました。


・初めてWindowsバッチファイルを勉強してみようと思っている方

・使ったことはあるが一から基礎を学び直したい方


へ向けて丁寧な解説を行っています。


「全くプログラムを知らない方でも、この入門書を読んだ後には、Windowsバッチファイルの中級者レベルになれるように」をコンセプトに執筆したものです。


この本を読めば、バッチファイルを使ったファイルやフォルダの操作に関しては一通りのことができるようになります。そうなればもう十分中級者と呼べるレベルですので、あとは自分のやりたいことを実現しようとする中で徐々に知識を蓄えていくだけですぐに上級者へなれるでしょう。


詳しくみる

関連ページ

コメント

  1. Hammett より:

    難しい、わたしは AutoFtp を使っていましたが、アップロードできなくなり、困ってここにきした。今では古いソフトです。
    「ホストの初期フォルダ」は空欄ですが、FTTPは動いています。
    ですからいちいちファイルをアップろーどしています。
    もっと簡単な自動アップロードはないかな?
    HPの更新したファイルのみ自動アップロードできるのが?

コメントを残す