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
Batch file 如何从命令提示符在同一文件夹中分割多个文件?_Batch File_Cmd_Ocr_Command Prompt_Tesseract - Fatal编程技术网

Batch file 如何从命令提示符在同一文件夹中分割多个文件?

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

我知道如何在OSX上使用终端在同一目录下拼接多个文件

for i in *.tif ; do tesseract $i outtext;  done;
在运行Windows的计算机上,有人对如何在命令提示符下执行此操作提出建议吗?

Windows与Unix
for 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"