matlab怎么恢复文件关联
目录
重要更新,对于R2014a之后的版本以及win8.1情况下,可能此方法无效,需要参考本博客更新的一篇文章 MATLAB R2014b R2015a重建.m等文件关联(WIN)
终于来了一篇关于技术的文章了。项目需要用到matlab。po主安装的是matlab 2013a版本,安装的过程没有什么问题,也很正常,安装完成之后,首先没有桌面快捷方式,然后没有开始程序菜单项,而且添加/删除程序里面也没有。
也就是po主找的破解版就类似于绿色版,没有建立文件的关联。
这也说明,matlab安装之后,重装系统或者移动matlab程序文件夹,也可以正常使用……只是需要重新建立文件关联。
因此在网上搜索了一些方法,总结来说,方法有两个:
方法一:代码方法
最简单,输入如下代码:
cwd=pwd;
cd([matlabroot 'toolboxmatlabwinfunprivate']);
fileassoc('add',{'.m','.mat','.fig','.p','.mdl',['.' mexext]}); %重点
cd(cwd);
disp('Changed Windows file associations. FIG, M, MAT, MDL, MEX, and P files are now associated with MATLAB.')
这个方法修改完成之后,如果正常情况下,重启电脑或者过段时间,图标即可恢复。
方法二:使用MATLAB帮助
此方法po主没有测试,转载的此方法以2011版本为主。
- 打开matlab,输入doc命令打开help
- 在help窗口中搜索Change Windows File Associations
- 找到Associating Files with MATLAB on Windows Platforms(2011的帮助是这样,不同版本可能不一样)的对应解释
- 最后就是直接点击所需的文件关联,如下
注意要使用管理员身份打开matlab,因为上面选中的文字说要修改注册表,这需要管理员权限。否则,会报错如下:
??? Error using ==> fileassoc
No permissions to modify the registry.
Win7下可以到matlab安装目录下的bin文件中,在matlab.exe文件上右击选择以管理员身份运行,就可以了。
点击最后一个建立所有的文件的关联,结果如下:
Changed Windows file associations. FIG, M, MAT, MDL, MEX, and P files are now associated with MATLAB.
其实上面两种方法是一样,将鼠标停到修改文件关联的链接上,状态栏会显示点击调用的代码,就是方法1中的代码。
如上面修改后,如果没有效果(图标不会立即改过来是正常的,因为上面的贴图有提到),可以重启一下,这样在m文件的打开方式里就有了一个Matlab (R2011a)的打开方式,这个才是真正要关联的打开方式。
另外,如果文件图标实在不能恢复的话,可以在我的电脑>工具>文件夹选项>文件类型中寻找各个文件名称修改。在键盘上按首字母可以快速搜索。
图标文件在:D:Program filesMATLABR2009bbinwin32
中,后缀为ico。
而在Win7系统下,文件夹选项中取消了更改文件图标的功能。利用之前步骤将matlab文件与程序关联后,在控制面板>程序>默认程序>将文件类型或协议与程序关联中,找到任意一个matlab文件,如.m、.mat等,选中matlab程序,等待系统刷新一下,即可恢复图标。
补充:2012a版本 64bit恢复方法
win7 64bit 安装完之后,发现图标也没了,绑定到任务栏没法看啊,m mat fig mex等文件名也都挂了
- 打开matlab,任务栏右键点那个白板图标,再用右键点matlab,选择属性
- 目标位置,改为文件安装文件夹下matlab.exe的位置,例如:
d:Program filesMATLABR2010bbinwin64matlab.exe
(or win32) - 更改图标,选择你认识的那个
- 点开matlab帮助,搜索
association utility
- 看到:run utility to associate matlab with all of these file types: FIG, M,MAT, MDL,MEX AND P,猛击
- 命令行里提示 关联成功
- 再到任务栏,右键点白板图标,选择锁定到任务栏
- 关掉matlab
- 重新打开,白板图标消失,恢复为熟悉的彩色小山丘
- 其他的文件也都恢复了
Win7 64bit 和 MATLAB 2012a 的特殊处理
help文件更新时居然也会把好东西删掉。新版的2012a,居然把utility删掉了,但文件还在,所以只好到command window里执行如下的命令:
cwd=pwd;
cd([matlabroot 'toolboxmatlabwinfunprivate']);
% fileassoc('add','.m') ;
fileassoc('add', {'.m','.mat','.mdl','.fig','.p','.mlprj','.mexw64'})
cd(cwd);
disp('Changed Windows file association. M-files are now associated with MATLAB.')
还要补充几句:
如果执行这几行命令出错,提示什么registry的,就是说权限不够,需要用管理员身份来执行。
到matlab安装目录 binwin64
下的matlab.exe文件,右键点击,选择以管理员身份执行,确认,然后再执行上面的这几行命令,就成功了。
然后去控制面板>程序>始终使用指定的程序打开该文件类型:
- 找到.m,点击更改程序,选择提示出的,叫做Matlab2012a或者其他版本的这个程序来打开
- 依次找到.mat, .fig 等文件类型进行更改
这时候在列表里,对m文件的注释就不再是m文件,而是matlab code。
执行完这部分,电脑里m,mat和fig文件等都有了自己的图标。
© 转载需附带本文链接,依据 CC BY-NC-SA 4.0 发布。