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

[已解决]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; $_}}

```

返回列表