[System Environment] | ||||||||||||
テキスト・ファイル中の文字列を環境変数にセットする(setx応用編)
|
||||||||||||
|
解説 |
TIPS「setxで環境変数の値を設定する(基本編)」では、setxというコマンドと使って、システムとユーザーの環境変数をセットする方法を紹介した。環境変数をセットしておくと、新しく起動したプロセスやプログラム、コマンド・プロンプトからその変数を参照できる。システムや環境に依存するような値などを変数にセットしておくことにより、プログラムやスクリプトなどに汎用性を持たせることができる(TIPS「環境変数を変更する」も参照)。
本TIPSではsetxのより進んだ使い方として、テキスト・ファイルから文字列を取り出して設定する方法については解説する。
操作方法 |
テキスト・ファイルから値を切り出して環境変数にセットする
先のTIPSで紹介したsetxコマンドの使用方法では、指定した文字列やレジストリ・キーの値などを環境変数にセットすることができるが、例えばipconfig.exeコマンドの出力結果(自分のIPアドレスやゲートウェイ・アドレスなどの情報)をセットすることはできない。だが、-fオプションを使ってテキスト・ファイルを指定すれば、その中に含まれる文字列を取り出して環境変数にセットできる。その使い方は次のとおりである。
setx 変数名 -f ファイル名 -a 縦位置,横位置 |
これは、指定された変数「変数名」に、ファイル「ファイル名」の「縦位置,横位置」の場所にある文字列を切り出してセットする、という意味である。最後のパラメータは、切り出す文字列の位置を指定するための座標の指定であるが(0が先頭)、これが実は分かりにくい。指定されたファイルの1行目の先頭の文字列は(0,0)、次の文字列は(0,1)、その次は(0,3)、2行目の先頭の文字列が(1,0)、その次が(1,1)、……、というふうに数えるのだが、内容が複雑だと座標を把握するのは困難である。そこで、まずは-xオプションを指定して各文字列がどの座標を持つのかを出力させ、その結果を使うとよい。
また「文字列」とは、「(空白文字、0x20)」「Tab文字(0x09)」「CR(0x0d)」「LF(0x0a)」で区切られた文字の集まりのことを指すが、「-d "追加文字"」オプションを付けると、それらの文字も追加の区切り文字として認識される。例えば「-d ";,"」とすると、「;」と「,」も区切り文字の1つとして認識される(つまり切り出す文字列から削除できる)。
以上のような事情があるため、ファイル中の文字列を環境変数にするには、次のような手順を踏むとよい。
手順1――対象となる文字列を含むテキスト・ファイルを用意する
例として、ipconfig.exeコマンドの出力結果からゲートウェイ・アドレスを取り出して、GATEWAYADDRESSという環境変数にセットしてみよう。
まずは、コマンドの出力結果を一時的なファイルに保存する。
C:\>ipconfig …IPアドレス情報を表示させる |
手順2――座標データを表示させる
次は、-fオプションでファイル名を指定し、さらに-xオプションを付けて座標を表示させる。ただし-xオプションを使う場合、使用するsetxコマンドのバージョンに応じて、少し書式が異なるので注意する(先頭の環境変数名の有無が異なる。Windows XPの場合は、代入はされないが、ダミーで指定しておく)。
■Windows XPのサポート・ツールに含まれるsetxの場合 |
実際に実行すると、次のようになる(これはWindows XPのサポート・ツールに含まれるsetxコマンドの実行例)。
C:\>setx GATEWAYADDRESS -f ipconfig.txt -x |
一見すると非常に複雑だが、よく見ると、「(縦座標,横座標 文字列)」というパターンが繰り返し表示されていることが分かる。分かりやすいように、オリジナルのテキスト・ファイルに含まれている文字列部分を赤くしてみると次のようになる。
setxの-xオプションの実行結果 |
setxの-xオプションの実行結果のうち、元のテキスト・ファイルに含まれる部分を赤く表示してみた(実際にはただのテキスト・ファイルなので、色は付いていない)。デフォルト・ゲートウェイ・アドレスの部分は、(この画面では隠れているが)、9行目の最後の方にある(9,12)であることが分かる。 |
以上の結果から、求めるゲートウェイのIPアドレスは「Default Gateway」の行の最後にある(9,12)であることが分かる。
手順3――環境変数に代入する
文字列の座標が分かれば、それを-aオプションで指定すればよい。
C:\>setx GATEWAYADDRESS -f ipconfig.txt -a 9,12 |
ここでは「192.168.1.11」という文字列が抜き出され、それがGATEWAYADDRESSという環境変数にセットされている。
|
「Windows TIPS」 |
ホワイトペーパー(TechTargetジャパン)
- WindowsTIPS (2009/11/27)
− Windows 7の「ネットワークの場所」を結合・削除する
− ログオン資格情報をバックアップする
− パフォーマンスカウンタをスケジュールに従って収集する - クラウドによるWindows Server速攻構築ガイド(前編) (2009/11/25)
Windows Server対応のクラウド・サービス「Amazon EC2/S3」を利用して、契約から数十分でWindows Serverを起動するまでの手順を解説 - 第197話 スキンでチェンジ (2009/11/24)
最近のアプリケーションにはね、「スキン」って機能があって、 これを切り替えるだけでUIを簡単にカスタマイズできるんだよね - WindowsTIPS (2009/11/20)
− Firefoxで閉じたタブ(Webページ)を再び開く
− VHDファイルをマウントする(Gizmo Drive編)
− 収集したデータをパフォーマンス・モニタで表示させる
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
あの三輪信雄氏が今のセキュリティ対策を 一刀両断!大胆な見直しを断行せよ! New! |
【先進企業に学べ】ソフトバンクホークス が行うセキュリティ対策とは? New! |
プロのハッカーが語る、企業サイトへの 攻撃手法!企業サイトはこう守れ!! New! |
@IT会議室に、新会議室がオープン!! 「Windows7 会議室」を開設しました New! |
ソニーの“bit-drive”が開発した、 クラウドサービスを支える技術とは? New! |
ホスティングといえばLinux? いえいえ、Windowsサーバも要チェック! New! |
負担の大きいサーバの運用コスト。 最新サーバへの置き換えで、大幅削減 |
常識を変えるクラウド時代のデータベース 「11g R2」の検証方法と最新機能とは? |
- - PR -
お勧め求人情報
**先週の人気講座ランキング**
〜 ITIL編 〜
◆ | 【大阪開催】 カカクコムCOO 登壇決定! あの情報漏えい事件の教訓と対策とは? New! |
◆ | 【福岡開催】ソフトバンクホークスが行う セキュリティ対策。情報はこうやって守る! New! |
◆ | 【大阪開催】@ITの人気筆者陣が語る! 「今、セキュリティ担当者がすべき事!」 New! |
◆ | 「運用こそWebサービスの醍醐味」! 楽天エンジニアに聞く、Web開発の魅力 New! |
◆ | @IT会議室に、新会議室がオープン!! 「Windows7 会議室」を開設しました New! |
◆ | “簡単にはじめられる”情報漏えい対策と クライアントPC管理のポイントを紹介 New! |
◆ | バックアップはこう行え! サーバ仮想化 環境での“3つの課題と解決策”とは? New! |
◆ | ホスティングでWindowsサーバを借りる メリットとは? 利用者に聞いてみた! |
◆ | 新人研修でかかる費用には「無駄」が多い 無駄をそぎ落とした「筋肉質」の研修 |
◆ | 「長すぎる構築期間」は、もう必要なし! 迅速に導入できるBIアプライアンスが登場 |