ケーススタディ、こんな時どうする?

FastCopyを使ってファイルコピー/移動の連携

 As/Rから行えるファイルのコピー/移動機能は・・・ちょっと数えたくないくらい膨大な数がありますが、ファイル転送のコアの部分はOSのAPIに丸投げしています。
 ファイルを開いて→読み込んで→書き込んで・・・といった低レベルなファイルのコピー/移動する処理自体は全く持っていません。
 ファイル名を列挙して「これとこれのファイルを、あそこにコピーして!」とOSに丸投げしている感じです。

 ファイル管理ソフトであるのに、ファイルをコピー/移動する機能が無いんです。ばばーん(効果音)
 まぁ、信頼性という点でOS標準に追いつける気がしなかったので、30年以上もファイラーを作ってますがファイルをコピー/移動する機能を作ったことがありません。
 だから速度が遅いんだ・・・と言われると、その通りなので反論できません。

 というわけでインターフェイスは用意しているので連携は難しくないのですが、悩んでしまう人が居るようなので本稿で紹介してみようと思います。
 ・・・というかAs/Rの外部コマンドとの連携方法(ファイル転送モード)に、ドラッグアンドドロップがあるのは、このソフトを使う想定があったからなんですけどね。


FastCopyとは

 大きなバッファを用いて、まとめて処理することによりファイルのコピーや移動の転送速度を大幅に高速化する種類の中の代表的なソフトのひとつです。
 PCの引越しとか、HDDの引越しとか、ネットワーク越しであっても高速で処理してくれるので、何かと便利なソフトです。
 画面内にショートカットキーがあまり設定されていないのでキーボードメインで使うにはちょっと厳しいですが、特定の用途に特化した素晴らしいソフトであると思います。
 いつもの台詞ですが、メリットとデメリットを把握した上でTPOによって使い分けてください。

公式サイトhttps://fastcopy.jp/


コマンドIDの割り振り

 普通は、スクリプトを作るところから始まりますが、FastCopyはちょっと特殊です。
 不思議なことに(苦笑)As/R用に作られたソフトと同じように扱えるので、スクリプト無しで処理できます。
 他にもドラッグアンドドロップを受け付けるソフトもありますが、まとめて受け取ってくれるソフトは少ないですね。

 オプション→コマンド定義→「ユーザー外部コマンド」ボタンを押します。
 (定義ファイルの編集方法を「簡易ダイアログ」にしてください)

 「追加」ボタンを押して、行を追加します。
 上から順番に設定項目をセットしています。

 IDは何番でも良いのですが、ここでは適当な空き番号の「42502」にコピー、「42501」に移動、を割り振っておきます。
※ツールバーに配置する場合は、規程の範囲の49881~43000の間の50個しかIDが許されていませんので計画的に割り当ててください。
 プロセス間通信による連携方法は、「ドラッグアンドドロップ」「選択アイテム」を選択。
 これが、今回のキモで、大量にファイルを選択したときにコマンドラインじゃ渡しきれないですよね。

 続けて「現在のフォルダーの条件あり」「ファイルを1つ以上選択していること」「フォルダーを1つ以上選択していること」を選択していきます。

 コマンドラインには以下のように記載します。
<FastCopyのインストールフォルダー>\FastCopy.exe /to=%NowDir%\ /auto_close /cmd=diff
/to・・・出力先ディレクトリ、As/Rの置換マクロで現在のフォルダーを渡しています
/auto_close・・・コピーが終わったら自動的に閉じる
/cmd=diff・・・差分(サイズ・日付)を見ながらコピーするモード

 説明には「FastCopyでコピー(差分(サイズ・日付)モード)」としておきます。
 ※「説明」は必須項目ですので、省略してはいけません。


 次に移動ですが、同様にプロセス間通信の連携方法と、コマンド抑止条件などを設定します。
 コマンドラインには以下のように記載します。
<FastCopyのインストールフォルダー>\FastCopy.exe /to=%NowDir%\ /auto_close /cmd=move
/to・・・出力先ディレクトリ、As/Rの置換マクロで現在のフォルダーを渡しています
/auto_close・・・コピーが終わったら自動的に閉じる
/cmd=move・・・移動(全上書き)するモード

 説明には「FastCopyで移動」としておきます。

 もちろん、他にもいろいろなコマンドラインオプションがありますので、用途に合わせてカスタマイズしていただければと思います。



 コマンドIDの割り振りが終わったら、As/Rを再起動するか「コマンド定義ファイルの再読み込み」を実行してください。


キーに割り当て

何でも良いのですが、ここでは Ctrl + Shift + A に割り当てます。
オプションのインターフェイス→キー割り当てで「キー」と「コマンドID」を紐付けます。




 As/R上でファイルを選択し、 Ctrl + Shift + A を押してFastCopyの画面に反映されていることを確認してください。