我知道如何使用OS X上的终端在同一目录中测试多个文件。
for i in *.tif ; do tesseract $i outtext; done;
有人在运行Windows的计算机上的命令提示符下有关于如何执行此操作的建议吗?
答案 0 :(得分:2)
for i
命令的Windows等价物是什么?如果不确切知道tesseract命令在Unix上的作用与Windows相比,很难给出全面的答案。
在Windows上,您可以使用for
命令对多个文件执行命令。
从命令行:
for %i in (*.tif) do tesseract %i outtext
在批处理文件中:
for %%i in (*.tif) do tesseract %%i outtext
答案 1 :(得分:2)
在上面的例子中:
for %%i in (*.tif) do tesseract %%i outtext
每次迭代时,Tesseract将在同一输出文件outtext.txt
上写入。您最终会得到一个文件(outtext.txt
),其中只包含最后一张图片中的文字。您需要唯一地命名每个输出文件。您可以将字符串outtext
替换为%%i
,如下所示。
for %%i in (*.tif) do tesseract %%i %%i
但是,如果需要不同的输出文件名,可以使用set
命令分配其他变量。然后为每次迭代增加此变量。
set /a j=1
for %%i in (*.tif) do (
tesseract %%i output_file%j%
set /a j+=1
)
但是,%j%
会扩展为' 1'对于每次迭代。您将得到一个名为outputfile1.txt
的文件。 %j%
在循环开始时展开一次,每次迭代使用相同的值。使用setlocal enabledelayedexpansion
命令并将%j%
替换为!j!
将强制Windows在每次迭代时展开!j!
。要恢复先前的环境设置,应发出匹配的endlocal
命令。
setlocal enabledelayedexpansion
set /a j=1
for %%i in (*.tif) do (
tesseract %%i output_file!j!
set /a j+=1
)
endlocal
我在Microsoft Windows 7 Home Premium版上成功测试了这一点。我希望它可以帮助你。
答案 2 :(得分:2)
master
将找到所有tif文件并将stdout传递到目标out.txt
答案 3 :(得分:0)
dir "folder_path\*.tif" /s /b > "folder_path\input.txt"
"tesseract_path\tesseract" "folder_path\input.txt" "folder_path\output"