Batch file 如何从命令提示符在同一文件夹中分割多个文件?
我知道如何在OSX上使用终端在同一目录下拼接多个文件Batch file 如何从命令提示符在同一文件夹中分割多个文件?,batch-file,cmd,ocr,command-prompt,tesseract,Batch File,Cmd,Ocr,Command Prompt,Tesseract,我知道如何在OSX上使用终端在同一目录下拼接多个文件 for i in *.tif ; do tesseract $i outtext; done; 在运行Windows的计算机上,有人对如何在命令提示符下执行此操作提出建议吗?Windows与Unixfor i命令的等效性是什么? 与Windows相比,如果不确切了解tesseract命令在Unix上的作用,就很难给出全面的答案 在Windows上,您可以使用for命令对多个文件执行命令 从命令行: for %i in (*.tif) do
for i in *.tif ; do tesseract $i outtext; done;
在运行Windows的计算机上,有人对如何在命令提示符下执行此操作提出建议吗?Windows与Unixfor i
命令的等效性是什么?
与Windows相比,如果不确切了解tesseract命令在Unix上的作用,就很难给出全面的答案
在Windows上,您可以使用for
命令对多个文件执行命令
从命令行:
for %i in (*.tif) do tesseract %i outtext
在批处理文件中:
for %%i in (*.tif) do tesseract %%i outtext
进一步阅读
- -对于所有与Windows命令行相关的内容都是一个很好的参考
- -有条件地对多个文件执行命令
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 edition上成功地测试了此功能。我希望它能帮助你
for %i in (*.tif) do (tesseract %i stdout 1>> out.txt)
将找到所有tif文件并将标准输出导入target out.txt执行第一个和第二个示例时,我收到一个错误“意外标记附近的语法错误”(“”)。它是什么?
dir "folder_path\*.tif" /s /b > "folder_path\input.txt"
"tesseract_path\tesseract" "folder_path\input.txt" "folder_path\output"