※ ChatGPTを利用し、要約された質問です(原文:Powershellで外部テキストファイルより)
Powershellで外部テキストファイルより
このQ&Aのポイント
Powershellで外部テキストファイルから特定の値を取得する方法を教えてください
質問者はPowershellの初心者であり、外部テキストファイルの内容を処理したいと考えています
具体的には、端末のホスト名とテキストファイルのホスト名が一致する行の特定の値を取得したいとしています
まだまだPowershellの初心者で勉強中です。よろしくお願いします。
下記のような記述がしてある『applist.txt』というテキストファイルがあります。
ホスト名 チーム名
abc123 ponpon666
12def456 gekogeko777
ghi78912 fufufu888
Powershellで、まず端末のホスト名を取得し、その値と、上記の『C:\share』というフォルダの中にあるテキストのホスト名と一致した行にある値を表示したいのです。
外部テキストは、他の作業でも使用するため編集はできません。
作ってみたものは、
$result = ipconfig /all
$hostname = $result[6].split(":")[1].Trim()
Select-String $hostname -Path C:\share\applist.txt
として、
ホスト名がghi78912という名前のPCのPowershell ISEで実行したところ
C:\share\applist.txt:3:ghi78912 fufufu888
と1行分が出てしまいます。
これをチーム名のfufufu888だけが取得できるようにするには、どのようにすると良いのか、教えていただけませんでしょうか。
お礼
欲しい情報の取得が出来ました。 丁寧な回答をありがとうございます。これも、確かに全員で使用するPCはわかりやすいようにホスト名=チーム名にしているものもあります。 foreachはforeach-objectと違うのだということも、あらためていろいろ調べて読んでみて良くわかりました(同じだと思っていました汗) ありがとうございました。