自動化でラクをしよう

面倒な事はやらない!

面倒な仕事はコンピューターにやらせて、人間はラクをする。
これがプログラマーのあるべき姿です。

うっとうしい作業も、自動化すれば一瞬で片付けられます。
例えば

条件に合ったファイルを検索して、一気に変換し、サーバへアップロードする。

こういった複数の作業も自動化で瞬殺できます。

できること、いろいろ

ちなみに私は、以下のような操作を自動化してラクしてます。

  • オンラインゲームの起動&ログイン
  • よく使うソフトをまとめて起動
  • アップロード操作の自動化
  • 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も便利なので浮気してます。

それはさておき、プログラマにとって自動化スキル十得ナイフのようなもの。
使いこなせば、作業効率は大幅にアップします(本当に)。

切れ味バツグンだからこそ、真っ先に取り組んで欲しいと思う事柄です。

最初は書くのが面倒かもしれませんが、必ず大きなリターンが得られますよ。

Windowsコマンドプロンプト_ポケットリファレンス

9.6

分かりやすさ

9.5/10

情報量

10.0/10

コストパフォーマンス

10.0/10

普遍性

9.0/10

Points

  • 必要な事柄が探しやすい
  • 命令やコマンドの解説が詳しい
  • 実行結果の例も分かりやすい
  • 豊富な情報量

Notes

  • ポケットには入らない
  • バージョンに注意
  • オワコン化しない事を祈ろう

Kuniaki Ebata 登録者

大学中退(文系)の専門卒 日本で唯一のプログラミング書籍評論家 プログラマーで現役のスキー国体選手です 頭と体を動かすのが大好きなフレンズなんだね 専門学校で先生もやってます プログラミングは21歳から 貴族じゃない独身 持病:重度うつ病(薬とサポートのおかげで何とか生きてます) 教え子をゲーム業界へどんどん送り込み、世界を面白くする野望を実現中 プログラミングが上達するメルマガやってます ここを見たゲーム業界の卒業生へ 新作が出たら、連絡するか現物を送ってくれると嬉しいです ただし18禁・CERO-Dの場合は、厳重に梱包の上、品名をパソコン部品にて送る事(だいじ) このページが参考になった方へ ぜひSNSやブログでシェアして欲しいです お願いします(少し上にボタンあります) 最近Google先生が中身の無い「いかがでしたか?」サイトを優遇するので困っています助けて下さい(>_<) シェアしてくださった方には 小冊子 プログラミング書籍が10倍わかる読み方(pdf) を差し上げます こちらからご報告頂くか、こっそりDMを送って下さい