背景
遇到一个需求,也就是调用7z.exe程序对指定压缩文件进行解压,但调用7z.exe采用dos时需要给定7z.exe的绝对路径。
情况分析
之前由于采用的是代码编辑,直接在代码中锁死7z.exe的绝对路径,如下情况
exePath='"C:\Program Files\7-Zip\7z.exe"' %解压软件安装位置
采用代码内锁死7z.exe的绝对路径,限制了程序的应用,对于不同的电脑,7z.exe安装位置可能不一致,这就导致写好的函数的推广性太差
解决办法
(1)通过注册表查找7z.exe软件的安装地址,即通过matlab自带函数找到红框中的数值数据:
7z.exe在注册表中相关信息
(2)matlab的函数winqueryreg可以实现查找安装地址
函数说明地址:https://ww2.mathworks.cn/help/matlab/ref/winqueryreg.html
函数winqueryreg的运行示例
(3)通过找到的安装地址,和程序7z.exe构成绝对文件地址,正好解决了7z.exe安装位置不确定的情况
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...