2014-10-02 136 views
0

目前我正在試圖建立一個簡單的腳本,將來自一個文件名報到字符串報告特定字符串PowerShell腳本 - 從文件名

我有一個目錄全名爲文件如下:

C:\[20141002134259308][302de103-6dc8-4e29-b303-5fdbd39c60c3][U0447744][10.208.15.40_54343][ABC_01].txt 
C:\[20141002134239815][302de103-6dc8-4e29-b303-5fdbd39c60c3][U0011042][10.168.40.34_57350][ABC_01].txt 
C:\[20141002134206386][302de103-6dc8-4e29-b303-5fdbd39c60c3][u1603381][10.132.171.132_54385][ABC_01].txt 
C:\[2014100212260259][302de103-6dc8-4e29-b303-5fdbd39c60c3][U0010217][10.173.0.132_49921][ABC_01].txt 

因此,我想從每個文件名中提取以字母U和7位數字開頭的用戶標識,然後創建一個新的txt或csv並列出所有這些標識。而已。

+1

歡迎使用?你嘗試了什麼? – 2014-10-02 19:44:22

回答

1

正如Patrice指出的那樣,您應該自己嘗試並自己動手,然後找到您嘗試過的相關代碼和您遇到的錯誤。這就是說,我很無聊,這很容易。我會使用一個正則表達式匹配對文件的名稱,然後爲每一個匹配我倒是輸出的拍攝字符串:

Get-ChildItem 'C:\Path\To\Files\*.txt' | Where{$_.Name -match "\[(U\d{7})\]"} | ForEach{$Matches[1]} 

,將返回:

U0447744 
U0011042 
u1603381 
U0010217 

如果你想將其輸出到文件,只需將其輸出到Out-File,然後指定要保存的文件的完整路徑和名稱。

+0

我明白了,我非常感謝你!我實際上已經對它進行了整理(其中包括一些來自你的舊帖子TheMadTechnician)這就是我想到的: GCI $ path | ?{$ _。BaseName -match「0c3 \] \ [(。*?)\]」} | %{$ _ CopyTo從( 「$($ _目錄)\ $($比賽[1])。」)。} | Export-Csv「C:\ IAM \ test \ list.csv」 喜歡export-csv及其結果,現在我只是嘗試過濾並獲取我需要的內容。 – beatlebum 2014-10-02 21:13:04

相關問題