【问题标题】:Using Octave to "Edit" notepad file instead of "Open" in Windows在 Windows 中使用 Octave 来“编辑”记事本文件而不是“打开”
【发布时间】:2021-04-12 13:22:23
【问题描述】:

我使用 Windows 10 和一个从 .txt 文件导入数据的 .exe 程序(同事编写的内部代码)。由于我 99% 的 .txt 文件用于此程序,因此我更改了默认的 Windows 程序,以便在打开 .txt 文件时自动运行此 .exe 文件。如果我需要直接访问 .txt 文件,或者将其用于其他目的,我可以右键单击并选择“编辑”。

我现在正在编写自己的程序(使用 Octave 4.4.1),它还使用有时需要打开/编辑的 .txt 文件,但如果我在 Octave 脚本中使用“open(filename)” ,当然它只是打开 .exe 文件。我可以从那里打开 .txt 文件,但我想跳过这个中间步骤,因为前面提到的 .exe 程序不打算在这个过程中使用,而且我的代码还有其他用户没有已安装的 .exe 程序。

有没有办法在 Octave 代码中复制 Windows 中的右键单击/编辑功能? “edit(filename)”在本机 Octave 编辑器中打开文件,这在技术上是可行的,但并不完全是理想的场景。我还尝试将默认的 Octave 编辑器更改为记事本,并且我也尝试过 Notepad++,但我绝对没有运气,即使付出了巨大的努力,让 Octave 使用任何类型的外部默认编辑器(即使当我删除 .exe 程序作为 .txt 文件的默认程序)。提前感谢您提供的任何建议。

【问题讨论】:

  • edit(filename) 不够好吗?
  • 您好 smcmi,您提供了很多信息,但实际上可以帮助我们帮助您的信息很少。你试过什么?您以什么方式没有运气更改编辑器,您尝试了哪些命令?你得到了什么错误? “打开(文件名)”是什么意思?您是否尝试过open 文档中描述的步骤?您是否定义了opentxt.m 文件?您是否尝试过将EDITOR 函数设置为八度?
  • 嗨 Cris,技术上是的,我承认我很挑剔,但这会在 Octave 编辑器中打开文件,但我更希望它在记事本中打开,绕过 .exe 文件当我“右键单击/编辑”时,我会这样做。嗨 Tasos,抱歉,我发现我太冗长了。我试图指定我对脚本函数的偏好,该脚本函数将复制“右键单击/编辑”操作,而不是使用本机 Octave 函数“open(filename)”获得的“在默认编辑器中打开”选项。我现在正在使用“打开”功能,要求我通过我试图避免的 .exe 功能采取额外的步骤。

标签: windows-10 octave octave-gui


【解决方案1】:

您可以使用 system() 函数从 Octave 发送命令行命令。

例如,要在记事本中打开文件,您可以这样做

[status, output] = system("notepad <path_to_text_file>.txt");

如果notepad 不在您的系统路径中,您必须将其添加到记事本可执行文件或使用完整路径

或者,如果您想使用 Notepad++,请将其添加到您的系统路径中,然后执行

[status, output] = system("notepad++ <path_to_text_file>.txt");

【讨论】:

  • 效果很好,非常感谢!
  • @smcmi 我很高兴它有帮助!如果它回答了您的问题,您可以通过单击答案旁边的复选标记来接受此答案。
猜你喜欢
  • 2020-11-21
  • 2019-06-01
  • 2020-09-09
  • 1970-01-01
  • 2011-10-18
  • 2016-11-24
  • 2018-04-11
  • 2010-11-25
  • 1970-01-01
相关资源
最近更新 更多