我有一个可执行文件oo.exe
,它将输入视为1
或2
,所以在命令提示符下,我可以写
oo 1
oo 2
我也进行重定向以将输出打印到文本文件。
我使用MATLAB中的system
命令做同样的事情。
system('oo 1 >> op.txt');
system('oo 1 >> op.txt');
除非.exe崩溃,否则一切正常。当* .exe崩溃说第一行时,我希望文本将打印到op.txt
中的崩溃点,第二行(参数2
)将正常执行(假设参数没有崩溃) 2
)。
然而,这不会发生,即使第二行正常执行,也不会打印任何内容。
但是,如果我在两个连续命令中从命令提示符处执行相同操作,则一切正常。我尝试通过编写批处理文件 test.bat 并使用system
从MATLAB调用它来尝试,但无济于事。
实际上,当我从命令提示符运行此bat文件时,在第二次执行时,会出现一条消息,指出文件op.txt
已被锁定。
只是告诉你,所有这一切只有在崩溃时才会发生。
有没有人有任何建议?
答案 0 :(得分:0)
试一试系统调用。好像它可能会抛出一个错误,导致脚本崩溃。
try
system('oo 1 >> op.txt');
catch
end
try
system('oo 2 >> op.txt');
catch
end