技術関連の覚書

案件でやったり自宅で試したことの覚書

作業効率化のためにしてること

普段作業をするときに、手間がかかるものを楽にするための仕組みはPCにはいくつかあります。

職場ではWindowsが多いのでGUIツールを使う手順がかかれていることが多いけども、コマンドプロンプトで処理する方が楽な場合もあります。 よくあるパターンは大量の単純作業

自宅にはWindowsがないので試せないですが…

(自宅PCはUbuntuです)

コマンドプロンプト

大量処理を繰り返して処理するためにはFOR文を使うと便利です。

for %variable in (<pattern>) do <command-line>
for /D %variable in (<pattern>) do <command-line>
for /R [[<drive-letter>:]<path>] %variable in (<pattern>) do <command-line>
for /L %variable in (<start>,<step>,<end>) do <command-line>
for /F ["<options>"] %variable in (<pattern>) do <command-line>

pattern のところにコマンドも使えるのでbashのようにコマンドの実行結果を元にコマンドを実行することもできます。

sqlの拡張子のファイルをpsql(Postgresql)に流して実行したい場合は

for /F %f in (dir /b *.sql) do psql -U postgres < %f

(バッチファイルの場合は%を%%にする)

bashならこんな感じです

for f in `ls -1 *.sql`; do
  psql -U postgres < ${f}
done

CREATE TABLE がテーブルごとにファイルに分かれている場合なんかには有効です。

(今やってるのは検証SQLにパラメータ追加して一気に流してログを取るといった作業です)

他にも、スタートアップにcopyやxcopyコマンドでバックアップをとるようなバッチを入れれば起動時に毎回バックアップがとれます。

よくやるのは、TortoiseSVNコマンドラインツールもインストールしておいて svn up を起動する度に実行して朝イチはソースが最新になるようにしてます。 今はドキュメントがメインですが。

エディタのマクロを使う

無料なのでサクラエディタを使うことが多いですが、秀丸エディタは変数や制御文が使えて便利です。

(現場ではサクラエディタなんですけどね)

ログファイルの余分なヘッダをカットするマクロを作ってたりします。

現物がないのですみません。

サクラエディタの場合は行数指定ができないので、1行選択か2行選択を必要回数記述して削除するように書きます。

サーバ接続にテラタームマクロを使う

サーバが大量にある場合に間違って接続するのを防止するためにもマクロを使ってそれをクリックするだけで接続するようにします。

テラタームマクロはinclude文が使えるので接続マクロに変数で指定するようにして接続情報をそれぞれのマクロに記述してincludeで呼び出すようにしています。

エディタやテラタームのマクロはそれほど複雑ではないので一度作ってみたらこんなに簡単にできると実感できると思います。

自宅では.bash_loginにVMのSNAPSHOTコマンド入れて