Re:here:「ここにあとで来る」ためのバッチファイルを作るスクリプト
結城さんの以下エントリのgroovy版を作ってみた。
2006-06-01 - 結城浩のはてな日記
here.groovy
/* * here.groovy * * Copyright (C) 2008 by fumokmm. * * This program is free software; you can redistribute it and/or * modify it under the same terms as Groovy itself. */ /** 定数 */ class Const { final static def HERE_DIR = "C:/here/" final static def HERE_BATCHES_DIR = "${HERE_DIR}batches/" } if (args.length == 0) { if (!listBatchFiles()) { usage() } System.exit(0) } def current = new File(".").getAbsolutePath() def writer = new BufferedWriter(new FileWriter("${Const.HERE_BATCHES_DIR}${args[0]}.bat")) writer.writeLine("@echo off") writer.writeLine("pushd ${current}") writer.flush() writer.close() /** * 既存のバッチファイルリスト表示 */ def listBatchFiles() { def commands = [] def f = new File("${Const.HERE_BATCHES_DIR}").eachFileMatch(~/^.*\.bat$/) { if (it.getName() != 'here.bat' ){ commands << "${commands.size()+1}: ${it.getName().replaceAll(/\.bat/, '')}" } } if (!commands.isEmpty()) { println "Entried command is..." commands.each { println it } } return !commands.isEmpty() } /** * Usageを表示する */ def usage() { println """\ Usage: here project-code Example: here proj """ }
here.bat
@echo off
groovy C:\here\here.groovy %1
使用手順は次の通り(Windowsの場合)。*1
- 準備(最初に一度だけ)
- (1)以下ディレクトリ構成を準備する
C:
└/here
├here.groovy
└/batches
└here.bat
-
- (2) batchesにPATHを通す。
- バッチファイル作成(新しいプロジェクトの場所決め)
- (3) コマンドプロンプトで、作業するディレクトリに行く。(たとえば cd C:\work\proj)
- (4) そのプロジェクトのプロジェクトコードを考える(たとえば proj )
- (5) hereコマンドを動かす(たとえば here proj)
- (6) これで C:/here/batches/proj.bat というファイルが出来た。
- バッチファイル実行
- (7) コマンドプロンプトから proj と入力する。
- (8) C:\work\proj へ移動する。めでたしめでたし。
- その他
- (9) コマンドプロンプトから here と入力する。
- (10) 現在登録されているコマンドが確認できる。
- ※注意
- いきなりバッチファイルを作りに行きます。同名のバッチファイルがあったら上書きされます。
*1:[http://d.hatena.ne.jp/hyuki/20060601#here:title=元記事]の文体を引用してます。