Windows7 の方はスルー下さい。
Windows XP, Vista 向けに環境変数を高度に制御できる penv を公開しました。
本コマンドを利用すると プロセスの出力値をそのまま環境変数に代入する事が
できます。
実例を見てみましょう。
penv ZZZ_HOGE=`dir` |
上記のようにすると ZZZ_HOGE という変数に dir の出力全てを代入します。
バッククォートを用いる事で、シェルを実行します。Linux みたいですね。
またパイプにも独自に対応したので、以下のような利用も可能です。
penv "ZZZ_HOGE=`dir | find \"exe\"`" |
dir コマンドで出力したのを find コマンドで exe キーワードでフィルターを
かけてます。フィルター後の値が ZZZ_HOGE に代入されますね。
現段階では環境変数の展開は実装していないのですが、現在のディレクトリを
環境変数に設定する方法は以下の通り。
◆標準コマンドの場合 set ZZZ_HOGE=%cd% ◆penv コマンドの場合 penv ZZZ_HOGE=`cd` |
環境変数の展開は、必要性を感じなかったので今回実装しませんでした。
と思ってたのですが、シェルの方が勝手に展開してくれてるようです。
完全ではありませんが penv でも set の方法が使えます。
最後に java ソースファイルからパッケージを環境変数にぶち込む方法の紹介。
rem 目的のソースファイルからパッケージ名を取得 penv "PACKAGE=`type Main.java | find \"package\"`" rem package キーを取り除き、スラッシュに置換&ゴミ削除 rem 確認する penv PACKAGE |
上記は Main.java と決め打ちにしてますが dir /b /s *Main*java とする事で、
サブディレクトリから Main という単語が入っている java クラスを探し出し、
パッケージ名を生成する事も可能です。
0 コメント:
コメントを投稿