Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 在子文件夹中批处理OCR文件,并使用新名称保存新文件_Windows_Batch File_Pdf_Cmd_Ocr - Fatal编程技术网

Windows 在子文件夹中批处理OCR文件,并使用新名称保存新文件

Windows 在子文件夹中批处理OCR文件,并使用新名称保存新文件,windows,batch-file,pdf,cmd,ocr,Windows,Batch File,Pdf,Cmd,Ocr,我有下面的代码,它将OCR的所有PDF文件都放在一个特定的文件夹(d:\extracttmp2)中,但它不会按照我的意愿重命名这些文件,也不会将新文件放在正确的位置 目前,所有文件都在“extracttmp2”的子文件夹中 OCR运行正常,但我希望OCR文件重命名为:-\u ocred.pdf。以这种方式命名它们不会产生文件覆盖 目前,代码OCR用于保存文件,但它会将新文件保存到其所在文件夹上方的文件夹中。它还将文件名保存为“JAN_ocred.pdf”,例如,对于名为“JAN.pdf”的文件。

我有下面的代码,它将OCR的所有PDF文件都放在一个特定的文件夹(d:\extracttmp2)中,但它不会按照我的意愿重命名这些文件,也不会将新文件放在正确的位置

目前,所有文件都在“extracttmp2”的子文件夹中

OCR运行正常,但我希望OCR文件重命名为:
-\u ocred.pdf
。以这种方式命名它们不会产生文件覆盖

目前,代码OCR用于保存文件,但它会将新文件保存到其所在文件夹上方的文件夹中。它还将文件名保存为“JAN_ocred.pdf”,例如,对于名为“JAN.pdf”的文件。保存一个文件夹的结果会导致某些文件被覆盖,这是不需要的

此外,OCR文件是否保留在未OCR文件所在的文件夹中,或者是否保存在一个文件夹中也无关紧要。所需的重命名将消除任何覆盖

我使用的软件是PDF24。然而,我认为我的问题不是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"

这就是你的意思吗?i、 e.文件将保存在与以前相同的位置,但每个名称将以其父目录的名称作为前缀,后跟连字符/破折号

@For/R“D:\extracttmp2%%G In(*.pdf)Do@For%%H In(“%%~dpG.”)Do@%ProgramFiles%\PDF24\PDF24 Ocr.exe”-outputFile“%%~nsh-%%~nG_ocred%%~xG”-language-dpi 300-skipFilesWithText”%%G
简单说明一下:
D:\extracttmp2\directory1\JAN.pdf
将以
directory1-JAN\u ocred.pdf
D:\extracttmp2\directory2\subdirectory3\SOMENAME.pdf
的名称保存在工作目录中


如果要将文件保存到其他地方,请更改工作目录,或将其前置到
%%~nsh-%%~nG_ocred%%~xG

,这正是我要找的!!!非常感谢你的帮助!!