前回の記事、
<
の続きで、「コマンドプロンプトを便利に使う」方法のご紹介
ただし、前回同様、たかがブログ記事ごときで体系的に使い方が理解できるものではありません。
やっぱり整理した本を読むのが一番です。Web上でもいろいろ便利な紹介サイトがありますが、やっぱり情報が偏ってしまいます。ちょっとしたリファレンスには便利ですが、初めて取り組むなら全体をちゃんと説明した本を買いましょう。
「生兵法は怪我の元」になりかねませんので。
■コマンドプロンプトを使う
コマンドプロンプトはそのままではPowerShellとは比べ物にならないくらい使いにくいです。
しかし、GUIと比べれば圧倒的に有利になることは確か。
そこで、以下のように設定をします。
◆ワーキングフォルダを作成する
私の場合は、C:\_usr というフォルダがワーキングフォルダですが、別になんでもいいですので、常に作業するベース(基地)となるフォルダを作ります。そしてあなたが作るすべてのファイルはこの下にサブフォルダを作って保存するようにします。
◆アプリの関連付け
アプリの関連付けはアプリをインストールするとされますので、基本何もしなくていいですが、時と場合によって同じファイルでアプリを切り替えたいような場合にはバッチファイルを作成します。
私の場合、C:\_usr\uty というフォルダにバッチファイルやよく使う(awk, perl, uwsc などの)スクリプトがおいてあります。
どういうバッチを作るかというと、第1パラメータでアプリを指定するようなオプションを持つバッチです。
★――――――――――――――――――――――――――
if /i "%1"=="xn" GOTO XNVIEW
if /i "%1"=="pn" GOTO PAINT
shift
:XNVIEW
start "c:\Program files\xnview\xnview.exe" "%2"
GOTO EXIT
:PAINT
start "%windir%\system32\mspaint.exe" "%2"
GOTO EXIT
:EXIT
――――――――――――――――――――――――――★
こんな風にして、gedit.bat というファイルを作っておけば
gedit xn xxxxx.jpg
とやってやれば xnview が立ち上がってくれるわけ。
ただし、環境変数 %PATH% に C:\_usr\uty を登録しておかないといけませんが。
◆環境変数
環境変数には、特殊な機能を果たすものがいくつかあります。代表的なものが
PATH
TEMP
です。その他 perl などでつかう PERLLIB なども必要です。
特に PATH はアプリを実行するときにいちいちアプリのパス名を入力しなくて済むので絶対に設定しておきましょう。
・スタート→コンピューター→コンピューターを右クリック→プロパティ→システムの詳細設定
・コントロールパネル→システムとセキュリティ→システム→システムの詳細設定
のいずれかでシステムのプロパティを表示しして、そこにある[環境変数]というボタンを押して対象の環境変数を編集できます。
◆コマンドプロンプトのショートカットを作成する
コマンドプロンプトを起動するときに、 cmd.exe で起動すると標準の機能のままコマンドプロンプトを使うことになります。
一方、cmd.exe のショートカットを作ってそこから起動すると、色々環境を変えることが出来ます。
たとえば、標準出力にされたスクロールのバッファは標準のままではたった300行しかありません。これだとちょっと作業していたり、ちょっとたくさんの表示を出したりするとすぐに過去の結果を参照できなくなってしまいます。
このため、ショートカットを作成してそのプロパティで色々設定を変更しておくと便利です。たとえば、デスクトップなどにこの cmd.exe へのショートカットを作成しておき、かならずこのショートカットを使ってコマンドプロンプトを起動するようにするわけです。
・コマンドの履歴
コマンド履歴の「バッファーサイズ」「バッファー数」は、コマンドの実行ログとcmd.exeを多重起動(起動しているcmd.exeからさらにcmd.exeを起動すること)したときに使うバッファの数。複数の作業を並行してするときに必要なものです。私はバッファサイズ300, バッファー数 6 にしてます。
・簡易編集モード
編集しやすくするためのものなので、ONでいいです。
・画面の色
これが超重要。複数個のコマンドプロンプトを立ち上げて操作していると、直感的にどのコマンドプロンプトかわからなくなっちゃいます。ですので、
・タスク管理用
・プログラム起動(いわゆる一般作業)
・プログラムの編集・コンパイル
・特定のフォルダの処理関係
などで色を変えておきます。ショートカットの設定なので別のショートカットには影響しません。
また、下記にあるようにウインドウの位置も固定にしてしまいます。
・無限スクロール
無限にスクロールできるようにするためには、オプション→レイアウト→画面バッファーサイズで「高さ」に 9999 を指定します。また同じ「画面バッファーサイズ」で幅は140文字にしています。これだと、ほとんどのコマンドが折り返さずに表示できるので、編集がしやすくなります。
・ウインドウのサイズ
これは当然縦は最大(画面いっぱい)、横は「画面バッファーのサイズ」と同じにしておくと見やすいです。起動後にマウスのドラッグで変更することも可能ですが、そこでマウスを使うのは本末転倒だし、いちいち面倒くさいので。
・ウインドウの位置
これは画面の色同様、固定位置においておくと、捜査開始までに一瞬探すというムダな作業をなくせます。
私はいつも2つのモニタで作業しますので、左側モニタの左隅が定位置です。複数立ち上げる時にも、環境に応じて表示位置を変えるように設定しておきます。固定位置が作業性が最も上がります。
◆短縮コマンド
残念ながらコマンドプロンプトではエイリアスが使えません。
これが私がPowerShellに移った最大の理由なのですが、工夫すれば対応は可能です。
以前やっていたのは、長いコマンドは全部バッチファイルを作ってしまう方法です。
たとえば上記のアプリ xnview を立ち上げるためには、"c:\Program files\xnview\xnview.exe" と入力しなくてはいけませんが、バッチファイル xn.bat を作っておいて、そこでこの長いパス名を入れておけば、xn だけで xnview を立ち上げることが出来ます。ただし、思いついた瞬間にやらないとすぐに忘れちゃうので、初めてプログラムを起動するときにはその場で、ed c:\_usr\uty\xn.bat と入力して、まずバッチファイルを作成してから、プログラムを立ち上げるということを習慣にしないと出来ません。
※ed は同じくバッチファイルで、テキストエディタ sakura を起動するようになってます。
■作業効率はキーボードが最高
考えてみれば、マウスのようにたった2つのスイッチで複雑な制御をさせるより、キーボードの100個以上のスイッチで作業したほうが、作業自体が簡単になるのは当たり前です。ただし、それを覚えるための労力は必要になります。
例えばこれで作業時間が5秒減ったとすると、1日にそのアプリを使う回数が12回とすれば1日1分の短縮になります。1年200日仕事をすれば約3時間強の時間短縮です。
これを大きいと見るか、大したことがないと見るかは、その人の時間の効率化具合によって変わるでしょう。
また私みたいに、PCに待たされるのが大嫌いな人からすると、精神的な効果もあったりします。
マウスをクリックした時に、モヤッと現れるウインドウが大嫌いなので。「余計なアニメーションをする暇があったらとっとと作業が出来る状態にしろよ!」とイラッとするのは私が短気だからですかね?
■いまから勉強するならPowerShell
ここまで書いておいてなんですが、コマンドプロンプトも PowerShell も知らなくて、これから勉強しようと思うなら PowerShell のほうが応用が広くて最適です。コマンドプロンプトがある程度わかり、簡単なバッチを作れるなら、コマンドプロンプトのほうが効率の上昇が早いです。
この辺りは好き好きもあるでしょうが…。
■参考図書
改訂新版 Windows PowerShell ポケットリファレンス
Windows PowerShell超入門 [4.0対応]
WINDOWS POWERSHELL 実践システム管理ガイド (マイクロソフト公式解説書―マイクロソフトITプロフェッショナルシリーズ)
Windows コマンドプロンプト ポケットリファレンス