• 締切済み

バッチファイルによるデータ参照

コンピュータ名がテキストファイル名(ファイル(1))となっているファイルがあります。 このファイルの先頭行にコンピュータ名に該当するIPアドレスを入れたいと考えています。 そのために、コンピュータ名⇔IPアドレス表を事前にテキストファイル等で用意してそのファイル(ファイル(2))からバッチファイル実行時にファイル(1)の先頭行へ書き込むことはできますでしょうか? もしできるのであればその方法(コマンドレベル)を教えていただければありがたいです。よろしくお願いいたします。

みんなの回答

  • heinell
  • ベストアンサー率35% (420/1172)
回答No.1

動作が今ひとつ理解できませんでしたが…推測を含めて OS:Windows コンピュータ名:ABC テキストファイル名:ABC.TXT テキストファイルの内容=:初期状態はからっぽ ファイル2の内容 ABC 192.168.0.1 DEF 192.168.0.2 GHI 192.168.0.3 ここである処理を実行 実行したのはコンピュータ名:ABC だからABC.TXTの先頭行に192.168.0.1が書き込まれる もしも同じ処理をコンピュータ名:DEFで実行したらDEF.TXTに192.168.0.2が書き込まれる こんな感じでしょうか? これを厳密にやろうとすると結構大変です。 特にコンピュータ名→ファイル名の取得が厄介。 WSH(VBscriptやJscript)・perl・Rubyなどの文字列処理機能がしっかりしたスクリプト言語を使った方がいいでしょう。 (WSHならWindowsだと最初からインストール済みなので別ソフトのインストールが不要で、コンピュータ名などの取得も割と簡単に可能) 妥協案としては ・ファイル名は固定である(例ではIP.TXT) ・ファイル末尾に情報が追加される ・実行されたパソコンの実際に使用しているIPアドレスが記録される(コンピュータ名は考慮しない) ・有効なネットワークカードは1つだけである ・記録されるデータにIPアドレス以外の多少余計な情報が入る というのでしたら、grepというDOSコマンドラインで動くツールだけ入手して http://www.vector.co.jp/soft/dos/util/se008484.html (実行するフォルダにgrep.exeだけコピー) ipconfig |grep "IP Address" >>IP.TXT これだけでOKです とすると IP Address. . . . . . . . . . . . : 192.168.0.2 という行が実行毎に追加されます。

jin0711
質問者

お礼

WSHで挑戦してみようと思います。 お手数でなければ多少アドバイスいいただければありがたいです。

すると、全ての回答が全文表示されます。

関連するQ&A