• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Powershellで外部テキストファイルより)

Powershellで外部テキストファイルより

このQ&Aのポイント
  • Powershellで外部テキストファイルから特定の値を取得する方法を教えてください
  • 質問者はPowershellの初心者であり、外部テキストファイルの内容を処理したいと考えています
  • 具体的には、端末のホスト名とテキストファイルのホスト名が一致する行の特定の値を取得したいとしています

質問者が選んだベストアンサー

  • ベストアンサー
  • sholmes
  • ベストアンサー率81% (89/109)
回答No.2

すみません、さっきのだとチーム名がたまたまホスト名と同じような時も引っかかっちゃいますね。 ということで、こちらのほうが少し安全でしょうか gc -Encoding String c:\share\applist.txt | foreach{$hostname, $teamname = $_ -split('  ', 2); if($hostname -eq $(hostname)){echo $teamname; break}}

ponpokotonton
質問者

お礼

欲しい情報の取得が出来ました。 丁寧な回答をありがとうございます。これも、確かに全員で使用するPCはわかりやすいようにホスト名=チーム名にしているものもあります。 foreachはforeach-objectと違うのだということも、あらためていろいろ調べて読んでみて良くわかりました(同じだと思っていました汗) ありがとうございました。

その他の回答 (1)

  • sholmes
  • ベストアンサー率81% (89/109)
回答No.1

ホスト名とチーム名の区切りが「半角スペース+全角スペース」に見えますが、間違い無いでしょうか だとしたら、文字コード指定しつつ全角スペースで区切ってしまうのが早い気はします。 PowerShellは自分もたまに触るぐらいなのですが、とりあえず動いたものを載せておきます。 applist.txtがShift_JISでなければ、「oem」を変えて下さい (Select-String -Path c:\share\applist.txt -Pattern $(hostname) -SimpleMatch -List -Encoding oem).line.split(' ')[1] 各種パラメータ等は適宜調整してみて下さい

ponpokotonton
質問者

お礼

確かに、いろいろな人がこのテキストを編集するので、全角スペースと半角スペースが入っているときがあるので、全角スペースで区切るという方法があるんですね。

関連するQ&A