[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 wanghan519 于 2023-8-19 15:10 编辑

powershell写的请小心测试
  1. $d=@{};cat .\a.txt -Encoding oem | ? {$_ -match '\d>\s*(企业|退出)'} | % {$a=$_ -split '>\s*';if($a[1] -match '企业' -and ($a[1] -notin $d.Keys)){$d.Add($a[1],1);$t=Get-Date $a[0];$n=$a[1]};if($a[1] -match '退出'){$tt=(Get-Date $a[0]).Subtract($t);$n+"`t时间:"+$tt.Hours+'h:'+$tt.Minutes+'m:'+$tt.Seconds+'s'}}
复制代码
粘贴上来没法用,试了好几次发现,因为单引号正好出现在边界处,直接用鼠标选择复制代码粘贴出来居然多一个空格,以前没遇到过。。。

TOP

回复 6# 娜美


    和网站没有关系,我这次是'企业'这几个字正好在命令窗口的边缘,单引号后面的中文没法在最后一位显示,所以换行了,但我用鼠标选择复制,复制出来的代码变成了' 企业',多了个空格,所以粘贴回去没法运行,以前没遇到过这种问题 。。。

TOP

回复 5# 娜美


    因为没清理字典,导致后面重复的企业名没读取时间,修改了一下
  1. cat .\a.txt -Encoding oem | ? {$_ -match '\d>\s*(企业|退出)'} | % {$a=$_ -split '>\s*';if($a[1] -match '企业' -and $a[1] -ne $n){$t=Get-Date $a[0];$n=$a[1]};if($a[1] -match '退出'){$tt=(Get-Date $a[0]).Subtract($t);$n+"`t时间:"+$tt.Hours+'h:'+$tt.Minutes+'m:'+$tt.Seconds+'s';$n=""}}
复制代码

TOP

返回列表