我有一个我想要在计算机之间共享的MATLAB m文件。 我也有一个简单的batch file,我想运行来启动MATLAB会话和m文件。 问题是,具有batch file和m文件的文件夹必须位于MATLABsearchpath上,否则MATLAB将尝试从默认目录运行m文件时出错。
我知道如何调用MATLAB,以及如何让它打开m文件(myfile.m),但是如何告诉MATLAB当前目录,以便我可以先将它放到该目录。 像如何获得chdir的输出到命令?
这是一个简单的例子:目前batch file如下所示:
@echo off matlab -nosplash -r "myfile"
但是我想要做这样的事情:
@echo off matlab -nosplash -r "cd chdir; myfile"
当然,这不起作用,因为MATLAB试图cd到一个不存在的目录chdir。 但是,我怎么能得到DOS命令chdir的结果到MATLAB的参数? 这样,无论在计算机上移动文件夹的位置,单击该batch file将打开MATLAB并运行m文件就好了。
谢谢
eryksun发布了一个很好的解决方案。 为了后代,这里是被测试和工作的整个代码。
@echo off matlab -nosplash -r "cd %~dp0 ,myfile"
谢谢eryksun,我知道这一定很简单。