使用 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
我的要求是在记事本文件的一行中找到特定字符串的位置,但是在 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