查看: 9490|回复: 8|关注: 0

[已答复] Matlab怎样打开文件夹

[复制链接]

新手

17 麦片

财富积分


050


1

主题

23

帖子

0

最佳答案
  • 关注者: 2
发表于 2016-9-25 17:31:47 | 显示全部楼层 |阅读模式
我用matlab生成了一个新的excel文件,我想在matlab程序结束的时候,像window一样打开该文件的目录,这样我就可以双击excel文件查看结果了(excel软件打开)。不知道具体调用文件浏览器的命令是什么。

入门

56 麦片

财富积分


50500


46

主题

387

帖子

9

最佳答案
  • 关注者: 4
发表于 2016-9-25 19:46:34 | 显示全部楼层
uigetfile,uigetdir,但是在MATLAB中打开,而不是windows

新手

43 麦片

财富积分


050


0

主题

73

帖子

7

最佳答案
发表于 2016-9-25 20:14:06 | 显示全部楼层
  1. !
复制代码


!后面可以跟系统指令,比如
  1. !shutdown
  2. !open
复制代码


所以你可以直接用
  1. !open abc.xls
复制代码

完成所需

新手

17 麦片

财富积分


050


1

主题

23

帖子

0

最佳答案
  • 关注者: 2
 楼主| 发表于 2016-9-25 20:32:31 | 显示全部楼层
royzeus 发表于 2016-9-25 20:14
!后面可以跟系统指令,比如

matlab2014a错误提示:
'open' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

新手

17 麦片

财富积分


050


1

主题

23

帖子

0

最佳答案
  • 关注者: 2
 楼主| 发表于 2016-9-25 20:35:03 | 显示全部楼层
hit218 发表于 2016-9-25 19:46
uigetfile,uigetdir,但是在MATLAB中打开,而不是windows

这几个命令必须选择文件夹,点击确定才能关掉。我想要的效果是:文件夹打开了以后,即使关掉matlab,文件夹也依然存在。

新手

43 麦片

财富积分


050


0

主题

73

帖子

7

最佳答案
发表于 2016-9-25 20:41:54 | 显示全部楼层
真实的谎言 发表于 2016-9-25 20:32
matlab2014a错误提示:
'open' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

open 是 mac 打开文件的指令,我只是举个栗子而已~~
windows 貌似你可以尝试下用 start,或者你百度一下 cmd 打开文件

论坛优秀回答者

退役版主

2199 麦片

财富积分



46

主题

2112

帖子

303

最佳答案
  • 关注者: 145
发表于 2016-9-25 21:41:22 | 显示全部楼层
本帖最后由 kastin 于 2016-9-25 21:42 编辑

除了楼上的方法之外,还可以用matlab内部的方法,也很简单。
  1. file='c:\aa.xls';  % 输入你的文件地址,随便是相对于当前工作目录或是绝对路径
  2. try
  3.     if ~ischar(file)
  4.         error('MATLAB:NotAString','file name must be a string');
  5.     end
  6.     [pathname filename ext] = fileparts(file);
  7.      if isempty(pathname)
  8.          ParentDir = pwd;
  9.      elseif isempty(regexp(file,'(.:|\\\\)','once'))  % windows 系统路径分隔符
  10.          ParentDir = [pwd,filesep,pathname];
  11.      else
  12.          ParentDir = pathname;
  13.      end
  14.      absolutepath = fullfile(ParentDir,[filename,ext]);

  15. catch exception
  16.     err = MException('MATLAB:FileNotFound',...
  17.         'Unable to open file %s.\n%s',...
  18.         file,exception.message);
  19.     throw(err);
  20. end

  21. Excel = actxserver('Excel.Application');
  22. Excel.Visible=1;
  23. ExcelWorkbook = Excel.workbooks.Open(absolutepath,0,false);
  24. format = ExcelWorkbook.FileFormat;
  25. if  strcmpi(format, 'xlCurrentPlatformText') == 1
  26.      error('MATLAB:NotMSExcelFileFormat',...
  27.             'File %s not in Microsoft Excel Format.', filename);
  28. end
  29. % Excel.Quit; Excel.delete; % 该命令退出excel,如手动关闭excel,执行该命令清除COM Server对象
复制代码
请点击"回复此楼",否则我将无法收到回帖提醒。
问题如果比较复杂或较难,请邮箱联系kimist@qq.com

新手

10 麦片

财富积分


050


0

主题

6

帖子

0

最佳答案
发表于 2018-6-22 11:30:22 | 显示全部楼层
可以用winopen这个命令,打开一个文件夹
例如:winopen('D:\matlab')
希望可以帮到你

新手

5 麦片

财富积分


050


1

主题

4

帖子

0

最佳答案
发表于 6 天前 | 显示全部楼层
kastin 发表于 2016-9-25 21:41
除了楼上的方法之外,还可以用matlab内部的方法,也很简单。

谢谢楼主,您的代码正好可以解决我的问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表