使用 powershell 从记事本读取文本时添加了额外 space

Additional space added while reading text from Notepad using powershell

我的要求是在记事本文件的一行中找到特定字符串的位置,但是在 powershell 中读取它时额外 space 被添加,这就是为什么无法找到特定字符串的位置。在这种情况下我如何找到位置?

我正在使用此代码来实现此目的

$ParamsPathForData = ($dir + "\TimeStats\TimeStats_1slot_12_2015_07TimeStats1.txt")

$data = Get-Content $ParamsPathForData
write-host $data.count total lines read from file
foreach ($line in $data)
{
 $l =$line.IndexOf("12/29/2015")
       write-host $l    
  }

我正在从记事本中阅读这一行 ->

TimeStats 29 12/29/2015 7:13:42 AM +00:00 Debug PREPROCESS: SlotNo: 325-00313, Ip Address: 10.2.200.15, Duplicate Message: False, Player-Card-No: , MessageId: 883250003130047966, MessageName: GameIdInfo, Thread Init Delay: 14, Time To Parse: 155, Time To Exec Main Workflow: 424, Time To Construct & send Response: 22, Total Response Time: 615

但是在 powershell 中执行它时我得到了额外的 spaces ->

T i m e S t a t s 2 9 1 2 / 2 9 / 2 0 1 5 7 : 1 3 : 4 2 A M
+ 0 0 : 0 0 D e b u g P R E P R O C E S S : S l o t N o : 3 2 5 - 0 0 3 1 3 , I p A d d r e s s : 1 0 . 2 . 2 0 0 . 1 5 , D u p l i c a t e M e s s a g e : F a l s e , P l a y e r - C a r d - N o : , M e s s a g e I d : 8 8 3 2 5 0 0 0 3 1 3 0 0 4 7 9 6 6 , M e s s a g e N a m e : G a m e I d I n f o , T h r e a d I n i t D e l a y : 1 4 , T i m e T o P a r s e : 1 5 5 , T i m e T o E x e c M a i n W o r k f l o w : 4 2 4 , T i m e T o C o n s t r u c t & s e n d R e s p o n s e : 2 2 , T o t a l R e s p o n s e T i m e : 6 1 5

有人帮帮我吗???

将编码更改为 Unicode...

$data = Get-Content $ParamsPathForData -Encoding Unicode