0

この形式のテキスト ファイルを解析しようとしています。

\\fileshare40\abccheck\logons\ABC64ZXZ.txt:5398:UserID:  abcusernamehere Logged:  09:18:36 2014/03/13
\\fileshare40\abccheck\logons\ABC63BZB.txt:5403:UserID:  abcusernamehere Logged:  01:21:31 2014/03/14
\\fileshare40\abccheck\logons\ABC61ZSF.txt:5408:UserID:  abcusernamehere Logged:  08:22:31 2014/03/17
\\fileshare40\abccheck\logons\ABC62ETB.txt:5413:UserID:  abcusernamehere Logged:  07:58:52 2014/03/18
\\fileshare40\abccheck\logons\ABC60BBB.txt:5418:UserID:  abcusernamehere Logged:  13:11:36 2014/03/19

ここで必要なのは、マシン名 (ABC*****) だけです。後で、重複がある場合はどうなるかを確認するために配列に入れますが、ここでの答えは、そのパスを開始するのに役立ちます。

私はこれを試しました:

$abc = select-string -path c:\users\abcusernamehere\desktop\findusermachines.txt -pattern "TCWS....." -allmatches

ただし、そうすると、そのファイルのテキスト行全体が表示されます。行を分割して、探しているものを見つけて表示するにはどうすればよいですか?

4

3 に答える 3

0

まだ別の答え:-)

${c:\users\abcusernamehere\desktop\findusermachines.txt } | ? { $_ -cmatch "\b(?<MACHINE>ABC.+)\b.txt" }  | % { $Matches['MACHINE'] }

ABC64ZXZ
ABC63BZB
ABC61ZSF
ABC62ETB
ABC60BBB

于 2014-04-01T20:55:23.767 に答える