【コラム】

日本語で10行プログラミング

79 高速バックアップ

 

79/90

開発日誌~大容量HDDについて

先日、バックアップ用に使っていた外付けハードディスクがいっぱいになってきたので、新しいハードディスクを購入しました。最近のハードディスクは、大容量なのにそこそこの値段で買えるので嬉しいです。

前のハードディスクも、買ったときは永遠にいっぱいにならないのではないかと思っていました。しかし、音楽CDを取り込んだり、日々撮りためた写真、メールや掲示板のログなど、いろいろなものをバックアップしていくと、あっという間です。

それから以前なら、必要なファイルといらないファイルを時間をかけて選別していたのですが、どうせハードディスク大きいからと、まったく選別しないで全てのバックアップを取るようになったのも、早くハードディスクが埋まってしまった原因かもしれません。しかし、データバックアップにかける労力が減ったのですから、すばらしいことではあります。

FastCopyについて

さて、今回は大量のファイルをコピーするのに便利なフリーソフト「FastCopy」をなでしこと組み合わせて使ってみようと思います。というのも、毎回データのバックアップの折に選別に時間がかからなくなった分、ファイルのコピーにものすごい時間がかかるようになりました。そこで、より高速にファイルがコピーできるような良い方法がないかと探していて、見つけたのが「FastCopy」でした。

FastCopyのページのトップには、「Windows系最速(?)のファイルコピー&削除ツール」と記されています。最速と謳うだけあって、Windows標準のエクスプローラーを使ったコピーよりも速く、またCPU負荷が少なく、気の利いたコピーが行えました。

FastCopyを使うと高速にファイルコピーができます

そして、私が一番気に入ったのは、FastCopyが、コマンドラインから利用できるようになっていたことです。バックアップなどの動作は決まりきった処理がほとんどなので、なでしこなどでバッチファイルを書いておき、クリック一発で様々な動作と組み合わせて実行できれば万々歳なのです。

つまり、なでしこではフォルダを作ったり、不要なファイルを消したり、ログを記録したりという仕事を行わせておき、最後に大容量コピーをFastCopyに任せるという連携技を行うことができるのです。

コマンドラインとは?

FastCopyのコマンドラインモードを使ってみる前に、「コマンドライン」という言葉に馴染みのない方のために、少しコマンドラインについて説明します。なお、説明は「FastCopy ver1.50」を対象としています。

Windowsではあまり馴染みがないのですが、コマンドラインとは「copy」(ファイルのコピー)とか「dir」(フォルダの中身を表示)などのコマンドを、キーボードから入力することで実行・操作することです。

Windows XPでは、スタートメニューから[すべてのプログラム - アクセサリ - コマンドプロンプト]と辿っていくと、コマンドプロンプトが起動し、コマンドが入力できるようになります。

コマンドプロンプト

なでしこでは、「起動」命令を使うことにより、コマンドラインでコマンドを入力するのと同じ処理を行わせることができます。例えば、コマンドプロンプトから、「notepad c: \ test.txt」と入力すると、「c: \ test.txt」というファイルをメモ帳で開きます。これを、なでしこで行うと以下のようになります。

「notepad c:\test.txt」を起動。

一番簡単な使い方

さて、FastCopyのコマンドラインモードを使ってみます。いろいろなコマンドラインオプションが用意されていますが、一番単純な指定方法は、以下のようになるでしょう。

コマンドプロンプトから使う場合

> fastcopy コピー元 /to=コピー先

なでしこで使う場合

コピー元=マイミュージック
コピー先=「E:\backup」
FASTCOPY=「C:\Program Files\FastCopy\fastcopy.exe」

「"{FASTCOPY}" "{コピー元}" /to="{コピー先}"」を起動。
終わり。

これを実行すると、FastCopyが起動して、コピーが始まります。このとき、FastCopyは、タスクトレイに入っていて小さくなっています。

実行するとトレイに入ります

コマンドラインオプション

さて、先ほどのプログラムを実行してみるとわかりますが、コピーが終わった後も、FastCopyがトレイに残ったままになってしまいます。そこで、コピーが終わったら、FastCopyが閉じるようにしてみます。

自動で閉じるようにするには、「/auto_close」オプションを追加します。なでしこのプログラムを次のように修正してみました。

コピー元=マイミュージック
コピー先=「E:\backup」
FASTCOPY=「C:\Program Files\FastCopy\fastcopy.exe」
オプション=「/auto_close=TRUE」

「"{FASTCOPY}" {オプション} "{コピー元}" /to="{コピー先}"」を起動。
終わり。

それから、FastCopyのコピー方法を細かく指定できます。初期状態では、コピーするとき、サイズと日付を見て差分をコピーしますが、「/cmd=force_copy」と書くと、全上書きでコピーを行います。また、「/cmd=sync」と書くと、同期モードになります。

同期モードでは、コピー元にないファイルで、コピー先にあるものを削除する動作をします(コピー元にないファイルが、コピー先からコピーされるわけではないので注意)。

このオプションをつけたなでしこのプログラムは以下のようになります。

コピー元=マイミュージック
コピー先=「E:\backup」
FASTCOPY=「C:\Program Files\FastCopy\fastcopy.exe」
オプション=「/auto_close=TRUE /cmd=sync」

「"{FASTCOPY}" {オプション} "{コピー元}" /to="{コピー先}"」を起動。
終わり。

他にもいろいろなオプションが用意されています。FastCopyのコマンドラインモードについて詳しい解説は、FastCopyの公式ページに書かれています。

10行プログラムを作る

FastCopyの使い方がわかったところで、仕上げに10行プログラムを作ってみます。

ここで作るプログラムは、なでしことFastCopyの連携技です。はじめに、なでしこでコピー元にある不要なファイル(拡張子が「.bak」のものと、画像表示のためのキャッシュファイル「Thumbs.db」)を削除します。その後、FastCopyで外付けのハードディスクにコピーするというものです。

# パスの指定
コピー元=マイピクチャー #1
コピー先=「E:\backup」 #2
FASTCOPY=「C:\Program Files\FastCopy\fastcopy.exe」#3
オプション=「/auto_close=TRUE」#4
# 不要ファイルを列挙して削除
終端パス追加(コピー元)&「*.bak;Thumbs.db」の全ファイル列挙。#5
反復 #6
  「削除:{対象}」を表示。描画処理反映。#7
  対象のファイル削除。#8
# コピー
「"{FASTCOPY}" {オプション} "{コピー元}" /to="{コピー先}"」を起動。#9
終わり。#10

1~4行目では、コピー元、コピー先、FastCopyのパス、コマンドラインオプションを指定します。5~8行目では、コピー元にある不要なファイルを削除します。念のため削除したファイルは画面に表示するようにしています。9行目では、FastCopyを実行します。コマンドを実行したら、10行目で終了します。

まとめ

もちろん、なでしこだけでもファイルコピーを行うことはできます。この場合、Windows標準のコピーを利用してコピーが行われます。通常のコピーでは、このWindows標準のコピーで問題ないでしょう。

しかし、大容量のコピーを行ったり、日付をチェックした差分コピーを行ったりしたい場合は、なでしことFastCopyと組み合わせると、非常に強力なコピーを行うことができます。なでしこで作ったバックアッププログラムの性能を向上させたいと思ったら、ぜひ、FastCopyと組み合わせてみてください。とても便利ですよ。

79/90

インデックス

連載目次
第90回 10行プログラミング最終回~10行プログラミングを振り返って
第89回 フォルダ一括圧縮
第88回 テキストエディタに貼り付けたExcelの表を見やすく整形する
第87回 一発加算電卓
第86回 ブログにHTMLソースを貼れるよう変換する
第85回 カード式メモ帳
第84回 時間電卓を作る
第83回 アスキーアート地図エディタ
第82回 縦書き風テキスト作成ツール
第81回 Excelシートの比較を行う
第80回 ノルマ計算機
第79回 高速バックアップ
第78回 単語帳に読み上げ機能をつける
第77回 ホームページのバックアップツール
第76回 英単語帳を作成する(その2)
第75回 英単語帳を作成する(その1)
第74回 メモリカード挿入でデータをコピーするツール
第73回 モールス信号ソフトの作成
第72回 フォトCDランチャーを作る
第71回 残暑見舞い作成ツールを作る
第70回 画面キャプチャプログラムを作る
第69回 様々なルールに対応するビンゴシートのプログラムを作る
第68回 ビンゴカードを作る
第67回 ビンゴマシンを作る
第66回 パスワードマネージャの作成
第65回 アンドゥ機能をつける
第64回 テキストの比較ツール~FCフロントエンド
第63回 システム情報クリップ
第62回 飲み会電卓を作る
第61回 バイナリエディタの作成
第60回 メールフッタ作成ツール(その2)
第59回 メールフッタ作成ツール(その1)
第58回 プロセス監視ツールを作成する
第57回 TODOメモを作る
第56回 携帯電話をテキストリーダーに使う(2)
第55回 携帯電話をテキストリーダーに使う(1)
第54回 「オープンソースカンファレンス2006 Tokyo/Spring」に参加しました
第53回 10行でチャットソフトを作る(2)
第52回 10行でチャットソフトを作る(1)
第51回 プレゼンタイマーを作る
第50回 カラーピッカーを作る
第49回 簡単な暗号作成プログラム
第48回 お手軽データベース「SQLite」を使う
第47回 CUI(コマンドライン)環境を拡張する
第46回 デスクトップ画像を記録するプログラム
第45回 市外局番で住所を調べる検索プログラム
第44回 コマンドライン型ランチャーを作る
第43回 文字数カウンタを作る
第42回 日本語でバッチ処理
第41回 イベントドリブンと電光掲示板
第40回 なでしこでWindowsの「送る」メニューを使いやすくする
第39回 同人音楽即売会M3に参加して思ったこと
第38回 画像のサムネイル作成
第37回 なでしことExcelで行事予定カレンダーを作ろう
第36回 なでしことExcelで月間カレンダーを作ろう!
第35回 なでしことExcelで年間カレンダーを作ろう
第34回 急な電話にも安心、意外と便利な「手書きメモ」
第33回 携帯電話のアドレスデータを取り出す
第32回 記念日カウンターを作る
第31回 顔文字入力支援ソフト
第30回 アスキーアートのためのエディタ
第29回 HTTPサーバーを作る
第28回 手紙のあいさつ文を作成するプログラム
第27回 ギターコードの構成音を表示
第26回 音楽の再生スピードを変える
第25回 ミニスライドショーを作る
第24回 撮影日で写真を振り分け
第23回 PSP用テキスト画像の作成
第22回 金種計算
第21回 パスワードを自動生成
第20回 携帯メールでWEBを更新する
第19回 時間の使い方を反省するプログラム
第18回 ウェブを画像でキャプチャ
第17回 ラーメンタイマーを作る
第16回 画像のトリミングツール
第15回 ごみの分別カレンダー
第14回 デスクトップ検索ツール
第13回 フォント見本帳
第12回 セピア調の画像ビューワー
第11回 健康チェック
第10回 10行で壁紙にらくがきする
第9回 WEBサイトの更新チェッカー
第8回 WEBページのリンク切れをチェック その2
第7回 WEBページのリンク切れをチェック
第6回 音楽ファイルの整理 - メディアタグから自動フォルダ分類
第5回 請求書の自動作成・印刷~Word連携技
第4回 重要データのバックアップ術
第3回 10行ニュースリーダーを作ろう!
第2回 なでしことは その2
第1回 なでしことは? その1

もっと見る

人気記事

一覧

イチオシ記事

新着記事