Windows平台提取特定行至新文本文件的脚本开发需求
Windows平台提取特定行至新文本文件的脚本开发需求
嘿,我来帮你搞定这个Windows下的文本提取需求!你需要从源文件里把所有以Compare hash:开头的行(也就是你说的每组第三行)提取出来,保存到新的文本文件里对吧?下面给你两种常用的实现方法,选你顺手的来用就行:
方法一:批处理(.bat)脚本
批处理是Windows原生支持的脚本类型,不用额外安装工具,直接就能运行。创建一个名为ExtractHash.bat的文件,把下面的代码复制进去:
@echo off set "sourceFile=你的源文件名.txt" set "outputFile=提取结果.txt" :: 提取所有以"Compare hash:"开头的行到输出文件 findstr /b "Compare hash:" "%sourceFile%" > "%outputFile%" echo 提取完成!结果已保存到 %outputFile% pause
使用说明:
- 把
你的源文件名.txt替换成你实际的源文件路径(比如C:\logs\source.txt) 提取结果.txt是输出文件的名字,你可以自己修改- 双击运行这个批处理文件就行,完成后会弹出提示
方法二:PowerShell脚本
如果你习惯用PowerShell,这个脚本会更简洁灵活。创建一个名为ExtractHash.ps1的文件,代码如下:
$sourcePath = "你的源文件名.txt" $outputPath = "提取结果.txt" # 读取源文件,筛选出以"Compare hash:"开头的行,写入输出文件 Get-Content $sourcePath | Where-Object { $_ -match '^Compare hash:' } | Set-Content $outputPath Write-Host "提取完成!结果已保存到 $outputPath"
使用说明:
- 同样替换好源文件和输出文件的路径
- 右键选择“用PowerShell运行”,或者在PowerShell窗口里输入
.\ExtractHash.ps1执行
预期输出结果
运行后,输出文件里的内容会和你想要的完全一致:
Compare hash: 74d05d5b127a8cd4b4781f1956b78df7771112436c89b2c9
Compare hash: 52d05d5b127a8cd4b4781f1956b78df4401112436c89b258
Compare hash: 33d05d5b127a8cd4b4781f1956b78df7661112436c89b277
备注:内容来源于stack exchange,提问作者juvenal
相关产品推荐
相关产品推荐

