Windows 10 更新 - 现在 PDFTK 批处理文件损坏

Posted

技术标签:

【中文标题】Windows 10 更新 - 现在 PDFTK 批处理文件损坏【英文标题】:Windows 10 Updated - Now PDFTK batch file broken 【发布时间】:2021-08-30 16:25:43 【问题描述】:

我有一个批处理文件,可以将简单的“突发”(也称为拆分)多页 PDF 运行为单页脚本,然后将它们移动到映射的网络驱动器 (Z:\)。这个批处理文件是由用户触发的,并且已经顺利运行了至少两年。上周,出现了一系列 Windows 10 (x64) 更新,但它停止了工作。现在,批处理文件不再循环遍历源目录中的每个 PDF,而是为迭代中的第一个 PDF 生成单页,然后停止(尽管在输出中没有显示任何错误)。我已经尝试了多种修复方法,包括在目标文件名中使用完整的时间戳来防止覆盖,但我认为这不是问题所在。似乎太巧合了,它在更新后不久就停止了工作(根据我的用户)。我对批处理文件不是很有经验,只是根据我看到的 PDFTK 示例绘制了这个。在这里(不确定为什么第 2 行在标记中被拆分,但在批处理文件中,第 2 行和第 3 行代表一行;PS 最后一行也很奇怪,应该读为:del "C:\Users\我的用户\桌面\PHYS_SRCDIR'BACKSLASH''STAR''DOT''STAR'" /F /Q):

cd C:\Users\My User\Desktop\PHYS_SRCDIR
for /r %%i in (*.pdf) do (pdftk "%%i" burst output "Z:\PHYSICALS_IN\%date:~10,4%%date:~4,2%%date:~7,2%_%%~ni_%%03d.pdf")
del Z:\PHYSICALS_IN\doc_data.txt /F /Q
del "C:\Users\My User\Desktop\PHYS_SRCDIR\*.*" /F /Q

【问题讨论】:

别忘了问你的问题。 抱歉,我想我的问题是:“如何让批处理文件再次工作?”和/或“当数十个 PDF 保留在源文件夹中时,为什么工作/for-loop 在一次迭代后死亡?”我也尝试回滚“可选”更新,但无济于事。 首先,检查您的date 格式是否发生了变化。二、检查Z:是否连接正常 @Stephan 刚刚在故障机器上检查过,日期格式照常为“Tue 06/15/2021”(减去引号)。我让用户始终保持他们映射的网络驱动器打开(并最小化),因为如果他们不这样做,自从我们切换到 Windows 10 后,如果不是经常打开,映射就会以某种方式“删除”(单独的问题)。无论如何,当我尝试时,这台机器上发生了相同的行为:本地而不是网络文件夹;从 PDF 文件名中删除所有空格;从目录路径(目录名称)中删除所有空格;从文件名中删除所有括号和方括号;使用 UNC 路径。 有什么想法吗?我在这里撞墙了,它已经工作了 2 年(+),无论源目录中有多少多页 PDF。现在,例如,如果我有一个名为 AAAA.pdf 的 3 页 PDF(如此命名,因此它将保证第一次迭代,但在源目录中有其他多页 PDF),我得到(假设我使用: “%%~ni_%%03d.pdf”作为格式选项):AAAA_001.pdf、AAAA_002.pdf、AAAA_003.pdf、doc_data.txt(强制性 PDFTK 输出),然后批处理作业终止。只是想确保问题很清楚,期待更多的想法,在此先感谢! 【参考方案1】:

我最近没有看到任何新的回复,不得不将注意力转移到其他地方,所以我的解决方案只是将批处理文件移动到带有“Z:”的服务器上(允许对用户进行有限登录),将其反转,使其从用户的 PC 映射驱动器复制到服务器,然后继续我要炸的更大的鱼。我知道,这不是一个真正的解决方案,但这是我的情况。我会不时检查一下,看看有没有其他建议。由于批处理文件在 WS2012R2 框中完美运行,我唯一的想法是 Windows 10 中的某些东西通常“破坏”了 PDFTK 服务器或批处理文件/命令行。由于它单独工作并且仅在尝试遍历多个多页 PDF 时才会中断,因此我倾向于批处理文件/CLI。感谢您的建议,请继续关注!

【讨论】:

微软强调不破坏现有脚本。通过从 DOS(command.com,到 Win98)跳转到 Windows 命令行 (cmd.exe) 进行了巨大的扩展,并从那时起进行了一些微小的改进。它们都没有破坏任何批处理脚本(旧的 MS-DOS 脚本仍然运行,只要它们不尝试直接访问任何硬件,这是 Windows 阻止的。你的脚本中没有这样的命令)。所以我非常怀疑这是一个“Win10”或“更新相关”的问题。据我所知,cdfor(和del)最近没有改变。我不知道第三方应用程序pdftk

以上是关于Windows 10 更新 - 现在 PDFTK 批处理文件损坏的主要内容,如果未能解决你的问题,请参考以下文章

Windows批处理脚本在子文件夹中查找最大的PDF文件并使用Ghostscript和`pdftk`在页脚中打印路径

使用 node-pdftk 填写表单时写入 EPIPE 错误

linux系统下pdf操作软件pdftk

如何修复 PDF 文件并嵌入丢失的字体

FPDF FPDM - 由于 PDFTK 导致的合并错误

更新了 Windows 10,现在 Bitnami Wamp Apache 将无法启动