乐于分享
好东西不私藏

绝了!电脑自带功能,Word 批量转 PDF 小白也能一秒搞定

绝了!电脑自带功能,Word 批量转 PDF 小白也能一秒搞定

去年用豆包 AI 一下处理 Word 批量转 PDF,意外挖到一个超实用方法!

原来每台电脑都自带 PowerShell,简单写几行代码就能批量转 PDF,奇奇怪怪的实用小知识又增加了,自动化办公又多了个新思路。

直接在最下面复制代码,更改word文件夹路径,粘贴到PowerShell,回车,等待完成就行。(每个电脑的运行环境不一样,如果代码运行不了,可以让AI修复下代码,把不行的运行结果复制粘贴给AI,让它去修复,我现在用的是豆包。)

注意!!!

这个方法是有前提条件的:电脑要安装了 Microsoft Word。

如有安装,请看下面!!!


# 定义 Word 文件所在的文件夹路径$wordFolder = "C:\Users\Administrator\Desktop\新建文件夹"# 获取该文件夹下所有的 Word 文件(.docx 和 .doc)$wordFiles = Get-ChildItem -Path $wordFolder -Include *.docx,*.doc -Recurse# 尝试创建 Word 应用程序对象try {    $wordApp = New-Object -ComObject Word.Application    $wordApp.Visible = $false # 隐藏 Word 窗口}catch {    Write-Warning "无法创建 Word 应用程序对象,请确保已安装 Microsoft Word 并且 COM 组件已正确注册。错误信息: $($_.Exception.Message)"    return}foreach ($wordFile in $wordFiles) {    $doc = $null    try {        # 打开 Word 文件        $doc = $wordApp.Documents.Open($wordFile.FullName)        # 定义输出的 PDF 文件路径        $pdfFilePath = [System.IO.Path]::ChangeExtension($wordFile.FullName, ".pdf")        # 将 Word 文件保存为 PDF 格式        $doc.SaveAs([ref]$pdfFilePath, [ref]17)        Write-Host "已将 $($wordFile.Name) 转换为 $([System.IO.Path]::GetFileName($pdfFilePath))"    }    catch {        Write-Warning "转换 $($wordFile.Name) 时出错: $($_.Exception.Message)"    }    finally {        # 确保关闭 Word 文档        if ($doc) {            try {                $doc.Close()            }            catch {                Write-Warning "关闭 $($wordFile.Name) 时出错: $($_.Exception.Message)"            }            [System.Runtime.Interopservices.Marshal]::ReleaseComObject($doc) | Out-Null        }    }}# 退出 Word 应用程序if ($wordApp) {    try {        $wordApp.Quit()    }    catch {        Write-Warning "退出 Word 应用程序时出错: $($_.Exception.Message)"    }    [System.Runtime.Interopservices.Marshal]::ReleaseComObject($wordApp) | Out-Null}

复制上面代码,并更改Word 文件所在的文件夹路径。学到老,才能活到老,打工人又get馊主意了!!!