使用 PowerShell(或 CMD)删除 PDF 密码

使用 PowerShell(或 CMD)删除 PDF 密码

这是一个示范复制这个 Ubuntu 问题

我收到了一些 PDF 文件加密密码,为了简单起见,所有 PDF 的密码都一样。当我将这些文件存储在永久档案中时,我没有必要保留密码,也没有必要每次打开这些文件时都输入密码。

我可以使用链接的问答来构建基于 Docker 的解决方案,从 PDF 文件中剥离密码,或者我可以在这里问一下 Windows 10 是否也会出现同样的情况。

choco如果我需要一些包裹,我可以访问。

答案1

我想我做到了。

第一步:使用qpdf

作为 choco 用户

choco install qpdf

其次,使用以下 PowerShell 单行代码(我无法并行化它,因为 PS 给出了错误)。每个文件需要几秒钟

$password = [THE_PASSWORD]
Get-ChildItem | ForEach-Object { qpdf --decrypt --replace-input --password=$password $_.Name}

我曾是极其我有信心将脚本投入生产,因为我有一个强大的备份,而且我不得不恢复它几次。

周围的每个人都建议进行备份在直播之前。

qpdf如果文件未加密,则不会执行任何操作。

我将相应地修改这个问题,但脚本假定密码所有文件都相同

答案2

我挣扎着剧本但是在 Windows 10 中从命令提示符运行此命令(CMD.EXE):

FOR %G IN (*.pdf) DO qpdf --decrypt --password=mypassword "%G" --replace-input

(当然,替换mypassword成实际的密码)

避免--replace-input了指定输出文件名的需要,以及使用命令FOR只是循环浏览整个 PDF 文件夹并删除加密。

相关内容