无忧启动论坛

标题: 最近在折腾pe抄袭精简,求教这么一个批处理。。。 [打印本页]

作者: 江南一根葱    时间: 2021-5-3 20:57
标题: 最近在折腾pe抄袭精简,求教这么一个批处理。。。
目录下有两个文件,a.txt b.txt
b.txt的内容比较多,包含a.txt的部份内容
现在我需要一行一行读取a.txt,并删去b.txt中与之相同的行
生成新的b_new.txt



作者: nttwqz    时间: 2021-5-3 21:22
不是有软件吗?用啥批处理。。。
作者: lomey    时间: 2021-5-3 21:29
Beyond
作者: 黑中见白    时间: 2021-5-3 23:52
本帖最后由 黑中见白 于 2021-5-4 00:19 编辑



<# :
@powershell "icm ([scriptblock]::Create((gc '%~f0' -Raw -Encoding UTF8)))"
exit
#>
# powershell script
#atxt+btxt 合并+去重,删除atxt的行数
$aa=gc a.txt
$bb=gc b.txt
$line=$aa+$bb
$aa.Count #行数

#去重
$set = [System.Collections.Generic.HashSet[string]]@($line)
#$set =$set | sort-Object #是否排序
Set-Content  -Path cc.txt -Value ($set -join "`r`n")  #去重

gc cc.txt | Select-Object -Skip $aa.Count | Set-Content c.txt
cmd /c del cc.txt
Write-Host -ForegroundColor White ('成功')
Start-Sleep -Milliseconds 3000


作者: 江南一根葱    时间: 2021-5-4 10:59
黑中见白 发表于 2021-5-3 23:52
# powershell script
#atxt+btxt 合并+去重,删除atxt的行数
$aa=gc a.txt

多谢多谢,这个试了下还真是秒出啊,
就是要用到powershell,只能10下用,不过问题不大,反正大部份环境用是10
作者: szwp    时间: 2021-5-5 16:50
江南一根葱 发表于 2021-5-4 10:59
多谢多谢,这个试了下还真是秒出啊,
就是要用到powershell,只能10下用,不过问题不大,反正大部份环境 ...

7也有powershell,不过自带的版本较低,微软网站可以下载到最新版。
实际上b.txt不用产生,直接在wim中删除a.txt,然后再dir一下,剩下的就是b_new。
作者: 江南一根葱    时间: 2021-5-5 19:36
szwp 发表于 2021-5-5 16:50
7也有powershell,不过自带的版本较低,微软网站可以下载到最新版。
实际上b.txt不用产生,直接在wim中 ...

嗯,这个方式我也用的,我是有些通用性比较强的列表作对比,
作者: junyee    时间: 2021-5-12 08:21

用diff.exe diff.zip (33.09 KB, 下载次数: 37)
  1. diff a.txt b.txt|findstr "^>"
复制代码

作者: 2012zhiwen    时间: 2021-6-29 18:07
junyee 发表于 2021-5-12 08:21
用diff.exe

你这个怎么用呢




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3