我正在使用 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
最佳答案
我没有安装 cygwin,所以我不能肯定地测试它。 但我认为您只需要一个“cd”作为系统命令的一部分。 例如:
>> 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"')
关于windows - 如何使用 MATLAB 中的 Cygwin 执行其他目录中的命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16038112/