我的要求是从记事本文件中找到一行中特定字符串的位置,但在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
有人请帮帮我???
答案 0 :(得分:1)
将编码更改为Unicode ...
$data = Get-Content $ParamsPathForData -Encoding Unicode