WindowsのDOSコマンドプロンプトは超便利
システム開発をしているとコマンドラインで作業を行うことがよくあります。
これまではLinuxでコマンドを叩くことが多かったのですが、開発環境を自分のWindowsマシンで行うことも多く、ちょっとした処理を行いたいときにWindowsのコマンドを利用する機会が増えました。
Linuxコマンドと同じように実行するだけで、簡単に結果を返してくれるのでとても便利ですね。
いろいろなコマンドがありますが、特にファイル操作に関してとても便利だなと思いました。一部を紹介してみたいと思います。
2つのファイルの内容を比較して違いを表示する
ファイルの比較はFCコマンドを使ってできます。
FCコマンド使用例
fc C:\doc\test1.txt C:\doc\test2.txt
比較したいファイルを2つ並べるだけです。
このコマンドを実行すると、違いのある部分を表示して教えてくれます。
「/N」オプションをつけると行番号も表示してくれて便利です。
fc /N C:\doc\test1.txt C:\doc\test2.txt
プログラムを書いていると、以前書いたものと新しいものでどこが違ったのか比較したいときがあります。Eclipseなどの開発環境で簡単に比較できることも多いですが、開発環境に入れてないようなプログラムを比較するときに便利です。
また、普通のテキストファイルやデータファイルの比較などにも使えます。
ファイルの内容を表示する
ファイルの中身を表示するときはLinuxと同じようにmoreコマンドが使えます。
more C:\doc\test1.txt
何が便利かというと、ファイルサイズが大きすぎてテキストエディタでは開くのが大変なときにこのコマンドを使うと簡単に見ることができることです。
私の仕事ではCSVファイルやXMLファイルなどのテキストファイルで、数百メガ以上もある大きなデータを扱うことがあるのですが、これらのファイルを開くときにテキストエディタでは固まってしまいます。このコマンドを使うと瞬時にサッと開くことができるので重宝しています。
テキストファイルから指定の文字列を含む行を検索する
ファイル内の文字列を検索する場合はfindコマンドが便利です。
find "テスト" C:\doc\test1.txt
実行すると指定した文字列を含む行が表示されます。findコマンドは指定文字列を必ず「""」ダブルクオーテーションで囲む必要があります。「/N」オプションを指定すると、行番号も合わせて表示してくれます。
find /N "テスト" C:\doc\test1.txt
数百メガもあるような巨大なテキストファイル内の文字列を探し出したいときなど、テキストエディタが使い物にならない時に便利です。
複数のファイルを連結して1つのファイルを作る
copyコマンドを使うと、複数のファイルを1つに連結することができます。
copy C:\doc\test1.txt+C:\doc\test1.txt C:\doc\all.txt
copy C:\doc\test*.txt C:\doc\all.txt
連結したいファイルが2つの場合には「+」を使ってつなげます。ワイルドカードも使えて、その場合は「+」は必要ありません。
いちいちファイルを開いてコピー・ペーストする必要がなくなって、とても簡単です。
コマンドプロンプトの本を手元に置いておくと超便利
このようなコマンドがまとまった書籍を手元に置いておくと、必要になった時に超便利です。
Windowsコマンドプロンプトポケットリファレンス
私もこの本を持っていて、Windowsの操作でよく使っています。Windowsでの開発作業の効率がアップしておすすめですよ。