我正在尝试在 windows10 (家庭版) 上运行 tesseract,但这个问题确实比较笼统。运行该程序的来源和说明是这里。我正在运行下载的 Windows 二进制文件,而不是本机版本(我也尝试了 cygwin 版本,结果稍差,见下文)。
我以管理员模式启动了 powershell(通过右键单击并选择“以管理员身份运行”),并从桌面上包含要执行 OCR 的图像的文件夹中的命令行运行:
>tesseract image.jpg out
shell 响应
>Tesseract with Open Source OCR Engine v3.02 with Leptonica
但是在写入步骤时出现错误:
>Cannot create ouput file out.txt
如果我使用 powershell ISE 运行,我会得到更多输出:
> tesseract : Tesseract Open Source OCR Engine v3.02 with Leptonica At
> line:1 char:1
> + tesseract image.jpg out
> + ~~~~~~~~~~~~~~~~~~~~~~~~~
> + CategoryInfo : NotSpecified: (Tesseract Open ... with Leptonica:String) [], RemoteException
> + FullyQualifiedErrorId : NativeCommandError
> Cannot create output file out.txt
我试过修改权限在 powershell 中使用
>Set-ExecutionPolicy AllSigned -Scope Process -Force
和
>Set-ExecutionPolicy Unrestricted -Scope Process -Force
但结果并无改变。
注意,我还尝试从 cygwin bash 运行 cygwin 的 tesseract 版本,但 shell 响应任何带有空白行的 tesseract 命令:
>
什么也没写。
但是请注意(按照评论中给出的建议),如果我将完整的输出文件路径指定为指向下载文件夹,那么写入对 Windows 二进制文件有效(对 cygwin 版本无效)。
我找不到一个关于如何为在 Windows 10 powershell(或 cygwin)上运行的可执行文件或脚本授予写入权限的通用解决方案。我相信肯定有无数的答案,但奇怪的是找不到一个适合初学者的答案。例如,如果我搜索“写入文件夹权限 windows10”,我找不到任何关于超级用户的信息,只有解释不清且广告很多的答案,例如这如果我撒下更大的网。如何在 windows10 上运行 tesseract(实际上是从 shell 运行的任何 shell 脚本或 exe,需要对用户定义的文件夹具有写入权限)?是否有关于如何执行此操作的权威但用户友好(即快速)的指南?
答案1
您表示您正在尝试操作您自己的用户配置文件内的文件/文件夹。您不需要管理员权限,出于安全原因您也不应该使用它们。您已经可以在您的用户配置文件文件夹中执行几乎任何修改。
也可以通过以下方式拒绝权限受控文件夹访问是 Windows Defender 的一部分,旨在防御勒索软件。它可能将 Tesseract 归类为未知/不需要的软件,并阻止其修改文件的尝试。
您可以:
- 允许 Tesseract受控文件夹访问设置
- 使用不受保护的文件夹受控文件夹访问
- 禁用受控文件夹访问(除非你经常遇到被阻止的软件问题,否则不推荐)