Board logo

标题: [已解决]cmd 使用``>> log.txt``输出日志的时候,如何不写入重复输出日志 [打印本页]

作者: 1054850490    时间: 2023-2-27 11:42     标题: [已解决]cmd 使用``>> log.txt``输出日志的时候,如何不写入重复输出日志

本帖最后由 1054850490 于 2023-2-27 16:24 编辑

具体报酬:30元人民币。
支付方式:支付宝,微信
联系QQ:
有效期限:2023年02月30日之前。
加我qq如果许久没通过的话,那就是已经前面有人接了哈


大家都知道>>是追加写入日志

我的需求是:
如果 log.txt 里,某行的内容是“hello world”,如果控制台里又出现了“hello world”,则不再追加写入到 txt 里。
注意
是整内容相匹配则不追加写入,列如控制台输出了以下内容:
```
bathome.net
hello world
www.bathome.net
```
hello world”整行和log.txt里某行,整行相匹配,在log.txt里有一行也是写着“hello world”,就不追加写入到txt里
  如果log.txt里没有一行写着“hello world”,则把它写入到log.txt

由于控制台输出的命令很快,大概一秒有100条吧,然后txt里我最多只会放10000条,所以这个对比速度也不能太慢了
我之前让人写了个powershell的对比命令,但是如果txt里包含的命令太多了的话就太慢了,因为是实时比对的,逐条逐条的去比对,太慢了,但是txt里我不会放超过10000条,下面我放这个powershell的命令让大家参考一下

```
*>&1 | ForEach-Object {if($_ -notin (Get-Content log.txt)){Add-Content log.txt $_ -Encoding utf8; $_}}

```




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2