在子文件夹中批处理 OCR 文件并使用新名称保存新文件
Batch OCR files in subfolders and save new files with new name
我有以下代码,其中 OCR 对特定文件夹 (d:\extracttmp2) 中的所有 PDF 文件进行了 OCR,但它没有按照我的意愿重命名文件,或将新文件放在正确的位置。
目前,所有文件都在 'extracttmp2' 的子文件夹中。
OCR 运行正确,但我希望将 OCR 文件重命名为:<parent folder path>-<filename>_ocred.pdf
。以这种方式命名它们不会产生文件覆盖。
目前,代码 OCR 是文件,但它将新文件保存到它们所在文件夹上方的文件夹中。它还将文件名保存为“JAN_ocred.pdf”,例如,对于一个文件命名为“JAN.pdf”。保存一个文件夹的结果导致一些文件被覆盖,这是不希望的。
此外,OCR 后的文件是否保留在未OCR 后的文件所在的文件夹中,或者它们是否保存在一个文件夹中都没有关系。所需的重命名将消除任何覆盖。
我用的软件是PDF24。 https://creator.pdf24.org/manual/10/#command-line。但是,我认为我的问题不在于 OCR 软件,而是我在批处理脚本中的语法。
谁能告诉我我做错了什么?
For /R d:\extracttmp2\ %%G in (*.pdf) do "C:\Program Files\PDF24\pdf24-Ocr.exe" -outputFile "%%~nG_ocred.pdf" -language eng -dpi 300 -skipFilesWithText "%%G"
你是这个意思吗?即文件将保存在与以前相同的位置,但每个名称将以其父目录的名称为前缀,后跟 hyphen/dash.
@For /R "D:\extracttmp2" %%G In (*.pdf) Do @For %%H In ("%%~dpG.") Do @"%ProgramFiles%\PDF24\pdf24-Ocr.exe" -outputFile "%%~nxH-%%~nG_ocred%%~xG" -language eng -dpi 300 -skipFilesWithText "%%G"
简单说明一下:D:\extracttmp2\directory1\JAN.pdf
将以 directory1-JAN_ocred.pdf
和 D:\extracttmp2\directory2\subdirectory3\SOMENAME.pdf
的名称保存在工作目录中,如 subdirectory3-SOMENAME_ocred.pdf
如果您想将文件保存在其他地方,请更改工作目录,或将其添加到 %%~nxH-%%~nG_ocred%%~xG
我有以下代码,其中 OCR 对特定文件夹 (d:\extracttmp2) 中的所有 PDF 文件进行了 OCR,但它没有按照我的意愿重命名文件,或将新文件放在正确的位置。
目前,所有文件都在 'extracttmp2' 的子文件夹中。
OCR 运行正确,但我希望将 OCR 文件重命名为:<parent folder path>-<filename>_ocred.pdf
。以这种方式命名它们不会产生文件覆盖。
目前,代码 OCR 是文件,但它将新文件保存到它们所在文件夹上方的文件夹中。它还将文件名保存为“JAN_ocred.pdf”,例如,对于一个文件命名为“JAN.pdf”。保存一个文件夹的结果导致一些文件被覆盖,这是不希望的。
此外,OCR 后的文件是否保留在未OCR 后的文件所在的文件夹中,或者它们是否保存在一个文件夹中都没有关系。所需的重命名将消除任何覆盖。
我用的软件是PDF24。 https://creator.pdf24.org/manual/10/#command-line。但是,我认为我的问题不在于 OCR 软件,而是我在批处理脚本中的语法。
谁能告诉我我做错了什么?
For /R d:\extracttmp2\ %%G in (*.pdf) do "C:\Program Files\PDF24\pdf24-Ocr.exe" -outputFile "%%~nG_ocred.pdf" -language eng -dpi 300 -skipFilesWithText "%%G"
你是这个意思吗?即文件将保存在与以前相同的位置,但每个名称将以其父目录的名称为前缀,后跟 hyphen/dash.
@For /R "D:\extracttmp2" %%G In (*.pdf) Do @For %%H In ("%%~dpG.") Do @"%ProgramFiles%\PDF24\pdf24-Ocr.exe" -outputFile "%%~nxH-%%~nG_ocred%%~xG" -language eng -dpi 300 -skipFilesWithText "%%G"
简单说明一下:D:\extracttmp2\directory1\JAN.pdf
将以 directory1-JAN_ocred.pdf
和 D:\extracttmp2\directory2\subdirectory3\SOMENAME.pdf
的名称保存在工作目录中,如 subdirectory3-SOMENAME_ocred.pdf
如果您想将文件保存在其他地方,请更改工作目录,或将其添加到 %%~nxH-%%~nG_ocred%%~xG