使用 Windows 中的 Ghostscript 将多个 PDF 文件转换为子目录中的文本文件
Converting multiple PDF files to Text files in subdirectory using Ghostscript in Windows
OS: Windows 10 专业
我想在 Windows 命令行上使用 GhostScript 将多个 PDF 文件转换为主目录和子目录中的文本文件。下面是我的命令:
gswin64c -sDEVICE=txtwrite -o test1.txt "test1.pdf"
此代码使用 Ghostscript 将 "test1.pdf" 转换为 "test1.txt",但我想执行以下操作:
- 在主目录和所有子目录中查找所有 pdf 文件
- 对所有 PDF 文件执行 Ghostscript
- 为输出文本文件指定相同的文件名。 (test1.pdf -> test1.txt)
感谢您为此付出的时间和考虑!
像这样构建批处理或 .cmd
文件:
@echo off
REM Replace these with your actual location
D:
cd "\Main Directory"
for /R %%F in (*.pdf) do call :DOPDF "%%F"
goto ENDIT
:DOPDF
for %%X in (%1) do set PDF_TXTFNM=%%~dpnX.txt
gswin64c -sDEVICE=txtwrite -o "%PDF_TXTFNM%" %1
goto :EOF
REM Clean up
:ENDIT
set PDF_TXTFNM=
编辑添加:
旁注:如果您不想将工作目录更改为主目录,请注意 for /R %%F in ("D:\Main Directory\*.pdf") ...
仅在 是 .pdf
文件在 D:\Main Directory
中。两个主要的解决方法是使它成为当前工作目录(我的示例中选择的解决方案)或强制一个虚拟 .pdf
文件存在于该目录中,然后选择不在子例程中使用 IF
语句。如果您需要后一种技术的示例,请大声喊叫。
OS: Windows 10 专业
我想在 Windows 命令行上使用 GhostScript 将多个 PDF 文件转换为主目录和子目录中的文本文件。下面是我的命令:
gswin64c -sDEVICE=txtwrite -o test1.txt "test1.pdf"
此代码使用 Ghostscript 将 "test1.pdf" 转换为 "test1.txt",但我想执行以下操作:
- 在主目录和所有子目录中查找所有 pdf 文件
- 对所有 PDF 文件执行 Ghostscript
- 为输出文本文件指定相同的文件名。 (test1.pdf -> test1.txt)
感谢您为此付出的时间和考虑!
像这样构建批处理或 .cmd
文件:
@echo off
REM Replace these with your actual location
D:
cd "\Main Directory"
for /R %%F in (*.pdf) do call :DOPDF "%%F"
goto ENDIT
:DOPDF
for %%X in (%1) do set PDF_TXTFNM=%%~dpnX.txt
gswin64c -sDEVICE=txtwrite -o "%PDF_TXTFNM%" %1
goto :EOF
REM Clean up
:ENDIT
set PDF_TXTFNM=
编辑添加:
旁注:如果您不想将工作目录更改为主目录,请注意 for /R %%F in ("D:\Main Directory\*.pdf") ...
仅在 是 .pdf
文件在 D:\Main Directory
中。两个主要的解决方法是使它成为当前工作目录(我的示例中选择的解决方案)或强制一个虚拟 .pdf
文件存在于该目录中,然后选择不在子例程中使用 IF
语句。如果您需要后一种技术的示例,请大声喊叫。