【发布时间】:2017-09-15 02:18:22
【问题描述】:
我想从这个字符串中提取“.txt”之前的最后 4 位数字:
09/14/2017 12:00:27 - mtbill_post_201709141058.txt 7577_Delivered: OK
这些代表创建该日志的时间,我想将其显示为 10:58。我从一个文件中读取,该文件有多行类似于显示的行。
Get-Content file.txt | ForEach-Object {
$splitUp = $_ -split "_"
$SC=$splitUp[2] -split "_"
Write-Host $SC
$len = $SC.Length
$folder2 = $SC.Substring($len - 12, 42)
}
我尝试用“_”分隔字符串,然后计算获得的字符串中的字符,并尝试用“子字符串”命令分隔,但收到以下错误。
使用“2”参数调用“子字符串”的异常:“StartIndex 不能 小于零。参数名称:startIndex"
在 line:6 char:5 + $folder2 = $SC.Substring($len - 12, 42)
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- CategoryInfo : NotSpecified: (:) [], MethodInvocationException
- FullyQualifiedErrorId : ArgumentOutOfRangeException
【问题讨论】:
标签: powershell