如何使用MATLAB中的Cygwin在其他目录中执行命令?

时间:2013-04-16 13:16:15

标签: windows matlab cygwin

我正在使用 MATLAB ,我想在Windows下使用 CYGWIN 执行一些 C ++ 程序。这些都在CYGWIN的本地目录中; C:\cygwin\home\Alex\Community_BGLL_CPP。我可以让CYGWIN在MATLAB的本地目录下执行命令:

>> ls
.                README           genlouvainmex.m  
..               genlouvain.m     private          
>> system('C:\cygwin\bin\ls')
README
genlouvain.m
genlouvainmex.m
private
ans =
 0

但我无法在CYGWIN的本地目录中执行命令。这样我就可以启动一个C ++程序来生成一个文本文件,然后我可以使用MATLAB进行处理。所以本质上我只需要调用它。我在这里试验ls

>> system('C:\cygwin\bin\ C:\cygwin\home\Alex\ls')
'C:\cygwin\bin\' is not recognized as an internal or external command, 
operable program or batch file. 
ans =
 1

我也试过了>> system('C:\cygwin\bin\ls C:\cygwin\home\Alex\')但它也行不通。

一个选项是将目录(cd)更改为CYGWIN,然后执行命令:

>> pwd
ans =
c:\cygwin\home\Alex\Community_BGLL_CPP\sample_networks
>> system('C:\cygwin\bin\ls')
arxiv.bin
arxiv.txt
example.bin
example.txt
graph.tree
graph_list.bin
graph_list.txt
karate.bin
karate.tree
karate.txt
ans =
 0

1 个答案:

答案 0 :(得分:0)

我没有安装cygwin,所以我无法测试这个。 但我认为你只需要一个'cd'作为系统命令的一部分。 E.g:

>> system('"C:\Program Files (x86)\Git\bin\bash" -c "cd  C:/Python27; C:/Program\ Files\ \(x86\)/Git/bin/ls"')

生成我的Python文件夹列表,因为ls在该文件夹中运行。

所以你想要这样的东西:

>> system('"C:\cygwin\bin\bash" -c "cd  C:/cygwin/home/Alex/Community_BGLL_CPP/sample_networks; C:/some_path/convert"')