word文档提取指定文字后的内容 批处理

2025-04-15 16:14:11
推荐回答(1个)
回答1:

此为Powershell脚本,保存为ps1格式文件,和要处理的TXT文件(DOC转TXT自行解决)放一起。

  • 用法:先管理员打开CMD,复制下面代码回车,解除脚本安全限制。

powershell Set-ExecutionPolicy Unrestricted
  • 右键单击PS1文件,使用powershell运行脚本。WIN10以下系统可能会报错,需要微软官网下载补丁升级powshell

  • $exam=$null;$result=$null;
    dir "*.txt" |foreach{
        $txt=type $_.FullName;
        $DocName=$_.BaseName;
        foreach($line in $txt){
            if( $line -match "^[0-9]$"){$question=$true;$title=$line }
            if( $line -match "答案:.*$"){$question=$false;$line=$title+"`r`n"+$line}
            if($question){ $exam+=$line+"`r`n"} else {$result+=$line+"`r`n"}
        }
        if($exam){Out-File -FilePath "$DocName-试题.doc" -InputObject $exam}
        if($result){Out-File -FilePath "$DocName-答案.doc" -InputObject $result}
    }