Intent
我正在尝试遍历一个目录并将所有 9000 个左右的 pdf 文件转换为 png
for i in *.pdf; do
pdftoppm -f 1 -l 2 -png $i ${i%.pdf*}
done
问题所在
该循环仅适用于大约 500 个案例。当我在一些未转换的 pdf 文件上手动调用 pdftoppm 时,它可以工作。
例如,一个在循环中不起作用的文件是w7hnp - FOO BAR 8-18-12 NOT FINAL DOC.pdf
。当我使用 Tab 完成手动调用pdftoppm
文件名包含转义字符时:w7hnp - FOO BAR 8-18-12 NOT FINAL DOC.pdf
并且命令工作正常。
有没有办法确保空间被正确转义?
我需要保留文件名以与数据库中的其他信息匹配,因此重命名将不起作用,除非我可以创建具有新旧名称的字典。
你应该像这样引用变量:"$i"
和"${i%.pdf*}"