求批处理 批量HTML转换成TXT截取、组合字符到首行 并以首行为命名生成新文本文件?

求批处理 批量HTML转换成TXT截取、组合字符到首行 并以首行为命名生成新文本文件?,第1张

复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行

<# :

@echo off

rem 提取html内的文字内容输出到txt文件并截取部分指定内容作为文件名

set #=Any question&set @=WX/&set $=Q&set/az=0x53b7e0b4

title %#% +%@%%$%%$% %z%

set "rootpath=%~dp0"

if "%rootpath:~-1%" equ "\" (set "rootpath=%rootpath:~,-1%")

cd /d "%rootpath%"

powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default))) -Args '%rootpath%'"

echo%#% +%@%%$%%$% %z%

pause

exit

#>

$result=$args[0]+'\#convert'

if(-not (test-path -liter $result)){[void](md $result -force)}

$Utf8NoBom=New-Object System.Text.UTF8Encoding $False

$files=@(dir -liter $args[0]|?{('.html' -eq $_.Extension) -and ($_ -is [System.IO.FileInfo])})

$c=$files.length.toString()

$t=[math]::pow(10,$c.length)

$d=(get-date).toString('yyyyMMdd')

for($i=0$i -lt $files.length$i++){

    write-host $files[$i].Name

    $bin=[IO.File]::ReadAllText($files[$i].FullName, $Utf8NoBom)

    $html=New-Object -ComObject 'HTMLFile'

    $html.designMode='on'

    $html.IHTMLDocument2_write($bin)

    $text=$html.body.innerText -replace '\s+(?=账号统计|用户动态)',"`r`n"

    $filename=$d+' '+$c+'-'+($t+$i+1).toString().Substring(1)+' '

    $name=[regex]::match($text,'真实姓名[::]([^\r\n]+)')

    if($name.success){$filename+=(($name.groups[1].value.trim() -replace '先生','男') -replace '小姐|女士','女')+' '}

    $birth=[regex]::match($text,'出生日期[::](\d+)年(\d+)月(\d+)日')

    if($birth.success){$filename+=($birth.groups[1].value+''+(100+[int]$birth.groups[2].value).toString().Substring(1)+''+(100+[int]$birth.groups[3].value).toString().Substring(1))+' '}

    $telephone=[regex]::match($text,'固定电话[::]([^\r\n]+)')

    if($telephone.success){if($telephone.groups[1].value.trim() -ne '无'){$filename+=($telephone.groups[1].value.trim())+' '}}

    $mobilephone=[regex]::match($text,'手机[::]([^\r\n]+)')

    if($mobilephone.success){if($mobilephone.groups[1].value.trim() -ne '无'){$filename+=($mobilephone.groups[1].value.trim())+' '}}

    $region=[regex]::match($text,'所在地区[::]([^\r\n]+)')

    if($region.success){if($region.groups[1].value.trim() -ne '无'){$filename+=($region.groups[1].value.trim())+' '}}

    $company=[regex]::match($text,'所在公司[::]([^\s]+)')

    if($company.success){if($company.groups[1].value.trim() -ne '无'){$filename+=($company.groups[1].value.trim())}}

    $filename+='.txt'

    [IO.File]::WriteAllText($result+'\'+$filename, $text, [Text.Encoding]::Default)

}

HTML的全称是超文本标记语言,是一种标记语言。 它包括一系列标签。通过这些标签,可以统一网络上的文档格式,将分散的互联网资源连接成一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,可以解释文字、图形、动画、声音、表格、链接等。超文本是一种组织信息的方式,它通过超链接的方法将文本中的字符和图表与其他信息媒体联系起来。这些相互关联的信息媒体可能在相同的文本中,或者在其他文件中,或者在地理上相距很远的计算机上的文件中。这种组织信息的方式将分布在不同地点的信息资源以随机的方式连接起来,为人们查找和检索信息提供了方便。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7003719.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-31
下一篇 2023-03-31

发表评论

登录后才能评论

评论列表(0条)

保存