batch-file - 从批处理文件运行时无法从 Octave 脚本创建 Excel 文件
问题描述
使用 Windows 10、Octave 4.4.1 和 Excel 2016,我有一个 Octave 脚本(称为“MyOctaveProgram.m”),它从文本文件(“MyTextFile.txt”)中获取数据,可以使用 uigetfile 函数加载,但为了更快地访问,我创建了一个批处理文件:
@echo off
C:\Octave\Octave-4.4.1\octave.vbs --force-gui --eval MyOctaveProgram("'%~d0%~p0'","'%~n0'")
cmd /c
.bat 文件与 .txt 文件具有相同的名称,但扩展名不同。
到目前为止,一切正常,我可以通过 GUI 命令行或批处理文件执行 MyOctaveProgram.m 的一部分。当我尝试使用在 Excel(使用 COM 接口)中创建数据表的代码的一部分时,差异就出现了,使用
xls=xlsopen(ExcelFile)
xls=oct2xls(data...)
xls=oct2xls(more data...)
xls=oct2xls(etc...)
xlsclose(xls)
当我从 GUI 命令行运行 MyOctaveProgram.m(使用 uigetfile 函数选择 MyTextFile.txt)时,这可以正常工作,但是当我通过上面的批处理脚本运行 Octave 时尝试创建 Excel 文件时,我收到以下消息:
(保留文件指针。稍后再尝试保存...)
这似乎不会产生错误,并且会话保持打开状态(与 GUI 不同,如果出现错误,批处理启动的 Octave 会话将终止),但不会创建 Excel 文件。没有其他 Excel 窗口或任务打开,我也不想覆盖现有文件。任何意见,将不胜感激!
解决方案
推荐阅读
- spring-boot - spring boot mybatis 检查数据库连接
- angular - 将 mouseover ad mouseleave 事件侦听器添加到 Angular 中的元素
- android - 你能告诉我为什么作者需要为 Fragment 包装 FrameLayout 吗?
- reactjs - react-static:构建时出现ReferenceError
- android - 为什么在进度对话框运行时必须单击两次后退按钮才能到达上一个活动?
- javascript - 如何对 3D 立方体进行 smouth 旋转并检测屏幕设备前的人脸
- javascript - 为什么我的组件在将数据发布到 REST 服务后没有更新
- java - 将图像从 android studio 发送到 cpp
- javascript - 来自for循环的JQuery存储值?
- c++ - 如何使 std::map 在 swig 中保存不同的数据类型?