使用PowerShell从记事本中读取文本时添加了额外的空间

时间:2016-01-28 09:08:18

标签: powershell powershell-v3.0 powershell-v4.0

我的要求是从记事本文件中找到一行中特定字符串的位置,但在powershell中读取它时,会添加额外的空间,这就是为什么无法找到特定字符串的位置。我怎么能找到这个位置就是这个案子?

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

$ParamsPathForData = ($dir + "\TimeStats\TimeStats_1slot\29_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调试PREPROCESS:SlotNo:   325-00313,IP地址:10.2.200.15,重复消息:错误,   Player-Card-No:,MessageId:883250003130047966,MessageName:   GameIdInfo,线程初始化延迟:14,解析时间:155,执行时间   主要工作流程:424,构建时间和时间发送回复:22,总计   回复时间:615

但是虽然在powershell中将它排除在外,但是我正在使用额外的空间 - >

  

T i m e S t a t s 2 9 1 2/2 9/2 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 s s:1 0。 2。 2 0 0。 1 5,D   您可以使用以下功能:F a l e e,P l a y e r    - C a r d - N o :,M e s s a g e 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 a N a m e:G a m e I d I n f o,T h   r e a d I n t D e y a y:1 4,T i m e T o P e r e:   1 5 5,T e m e E x e c M a i n W o r k f l o w:4 2   4,T o t e C o n s t r u t t& s s n n R e s p o n s   e:2 2,电子邮件:6 1 5

有人请帮帮我???

1 个答案:

答案 0 :(得分:1)

将编码更改为Unicode ...

$data = Get-Content $ParamsPathForData -Encoding Unicode