もくじ
面倒な事はやらない!
面倒な仕事はコンピューターにやらせて、人間はラクをする。
これがプログラマーのあるべき姿です。
うっとうしい作業も、自動化すれば一瞬で片付けられます。
例えば
条件に合ったファイルを検索して、一気に変換し、サーバへアップロードする。
こういった複数の作業も自動化で瞬殺できます。
できること、いろいろ
ちなみに私は、以下のような操作を自動化してラクしてます。
- オンラインゲームの起動&ログイン
- よく使うソフトをまとめて起動
- アップロード操作の自動化
- VisualStudioを起動せずにソースをビルドする
- 複数ファイルを一気に変換
- ワンキーでリモートログイン&ビルド
- Excelファイルのオート編集などなど
一回自動化すれば、何度でも実行できるので大変便利です。
自動化の選択肢は2つある
では、どんな言語や技術を使うか?
ですが、大きく分けて2つの選択肢があります。
OSに搭載された機能 バッチファイル , シェル , オートメーターなど
軽量言語(スクリプト) Python , Ruby , JavaScriptなど
私はというと、両方使ってます。
まずどっちで作成するか検討して、とにかくラクな方を選ぶ感じですね。
さて、このページでは基本で手軽な前者を扱いたいと思います。
インストール不要で始められるので、何かと便利なのも理由です。
その中でも定番の バッチファイル と Windows PowerShell を紹介します。
Windowsコマンドプロンプト ポケットリファレンス
まず歴史ある自動化の定番バッチファイルです。
バッチファイルとは、Windows(DOS)のコマンドを指定した順に実行させるファイルです。
これを作れば処理を1つのファイルにまとめられ、ちまちまコマンドを打つ必要が無くなります。
そしてバッチファイルのメリットは、ズバリお手軽さです。
テキストエディタでパパパッと書いて、即実行!
いちいち開発環境を起動する手間もありません。
だから簡単な処理なら、私はバッチファイルをよく使います。
そのバッチファイルを作る時、手元にあると便利なリファレンスが本書です。
なおタイトルに「ポケット」と付いてますが、なかなか分厚いです(笑)。
命令を検索しやすい構成で、解説も詳しく具体的な書き方がよく分かります。
また(分厚いだけに)情報量も豊富で、私の場合バッチファイルはこれ一冊で全て賄えています。
Windows PowerShell ポケットリファレンス
最強の自動化手段
バッチファイルはお手軽で便利なのですが、ときどき使いにくい事もあります。
長い歴史がある反面、現在では不便に感じる仕様もあるわけです。
例えばバッチファイルは 条件分岐・繰り返し といった、プログラム的な動作が苦手です。
(いちおう可能ですが、正直つかいにくい…)
その欠点を補えるのがWindows PowerShellです。
これは要するに、Windowsを操作する本格プログラミング言語(スクリプト)です。
凄いことに.NET Framework(C#やVBのあれ)が使えるので、正直なんでもできます。
当たり前ですが、バッチファイルで出来る事は全部可能です。
さらに特筆すべきなのは、macOSやLinuxでも動きます。
リファレンスで設計思想も分かる
そんなPowerShellのリファレンスとして、便利なのが本書です。
例によって「ポケット」ですが分厚いですね…
とはいえ、ボリューム十分な内容は嬉しいです。
コマンド解説だけでなく言語仕様の解説も多いので、設計思想を理解しながら利用でき、習得を大きく助けてくれます。
ただ書き方を真似るのではなく、背景の技術を知っておくと、後々に歴然とした差となって現れます。
ただ注意点があり、本書は対応バージョンが3.0になっています。
本記事の執筆時点で、PowerShellの最新バージョンは5.0ですが、まだ対応していません。
当面はその点に注意しつつ、改訂版を期待しましょう。
自分のナイフを磨け
私は長年に渡って、VisualBasicScriptという言語で自動化をしてましたが、悲しい事にオワコン化が進んでます。
とはいえ嘆いても仕方ないので、今はバッチファイルとPowerShellと仲良くしつつ、Pythonも便利なので浮気してます。
それはさておき、プログラマにとって自動化スキルは十得ナイフのようなもの。
使いこなせば、作業効率は大幅にアップします(本当に)。
切れ味バツグンだからこそ、真っ先に取り組んで欲しいと思う事柄です。
最初は書くのが面倒かもしれませんが、必ず大きなリターンが得られますよ。