面倒だのその次

 いくつかのテキストファイルをつなげて一つにするとき、コマンドプロンプトで行う copy コマンドが便利です。
 例の「ファイル名を指定して実行」に cmd と入れ、コマンドプロンプトを立ち上げます。そこに例えば
 copy C:\a.txt+C:\b.txt+・・・・+C:\z.txt sum.txt
 と書き込みすると、a~z.txt がその順序で結合されて sum.txt として保存されます。でもコマンドプロンプトでは普通のエディターのように書き込んだ文字の編集はできませんので、途中で間違いに気付いたり、多くの文字数を書き込むには不便で、エディターからコピー/ペーストできれば便利ですよね。そのときは、Ait キーと Shift キーを同時に押してリストを出し、e p と打てばペーストができます。
 更に上記 copy コマンドで、いちいち c:\ なにがしのパスを書き込むのは面倒です。そんなときや他のいろんなコマンド(※1)を使ったりする場合にも、エクスプローラーなどのファイラーでカーソルのあるフォルダーでコマンドプロンプトが立ち上がれば便利です。
 その実現には、レジストリにキーを追加します。HKEY_CLASSES_ROOT/Directry/shell とたどり、そこに新規キーを追加、キーの名前は cmd とでも付けます。(既定)をダブルクリックし、値のデータを コマンドプロンプトで開く(&C) とでも付けます。(最後の(&C)はショートカットキーをcにする設定です。不要ならば省きます。) 更にその下に新規キー command を作り、値はWindows7の場合 cmd.exe /s /k pushd “%V” とします(pushed で無いことに注意)。これでフォルダーにカーソルがある状態で右クリックすると、コンテキストメニューに、コマンドプロンプトで開く が現れ、そのパスで開くことができます。
 なにごとも「この作業面倒だな」と思ったとき、その次が分かれ目です。面倒だ面倒だが、何か楽する方法は無いか調べる切っ掛けです。上記は私が、面倒だ、で調べた結果です。copy コマンドなんぞは、Perl などのプログラムが組めれば容易いのでしょうが、それはこれからです。

(※1) http://itpro.nikkeibp.co.jp/article/COLUMN/20060221/230145/

se.gif