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

标签 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

最佳答案

我没有安装 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/

相关文章:

android - 我该如何解决这个致命异常?

c++ - Windows下如何为Code::Blocks/MinGW32编译Box2D?

windows - 如何使用特定程序打开目录具有特殊字符的特定文件?

.net - Gacutil.exe 成功添加程序集,但程序集在资源管理器中不可见。为什么?

python - 如何提取图像的边界(OCT/视网膜扫描图像)

arrays - Matlab 中的矢量化范围检查

MATLAB:是否定义了字段名的顺序?

c - 如何使用 GNU C 预处理器预定义宏?

cygwin - 在没有 fenv.h 的情况下在 cygwin 中编译 redisql

windows - waveOutWrite API 方法回调的延迟(或延迟)时间是多少?