使用 Octave 到 "Edit" 记事本文件而不是 Windows 中的 "Open"

Using Octave to "Edit" notepad file instead of "Open" in Windows

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

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

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

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

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

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

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

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

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