Control Cygwin through Matlab script
6 次查看(过去 30 天)
显示 更早的评论
Hello, I would consider myself as a rookie matlab user. I have installed Cygwin64 on my computer and use it to process .env files. Instead of processing one by one each .env file I want to create a matlab script which will guide Cygwin64 to the specified directory and process each .env file. How can I create this script? Thanks in advance!
2 个评论
Walter Roberson
2016-5-12
This confuses me a bit, as cygwin64 provides a shell programming language; you would need a script written in the shell language. Also, env files are associated with environment variables, and it is not common to need to process multiple environment variable files?
采纳的回答
Walter Roberson
2016-5-12
The easiest way to handle this is at the shell level, rather than at the MATLAB level.
Create a file that has pairs of items on each line. The first thing on the line should be the directory name, using forward slashes instead of backslashes. If there are any spaces in the directory name, proceed them with spaces. The second thing on the line should be the file name, converted the same way. For illustration I will call this file InputSpecs . For example,
C:/Users/Pas/Documents\ And\ Files/Project1 dataset\ 5a.env
C:/Users/Pas/Documents\ And\ Files/Project7 20150830_second.env
Then prepare a second file, that looks like
while read dirname filename; do cd "$dirname"; COMMANDHERE < "$filename"; done
where COMMANDHERE should be replaced by the name of the executable. If there is some other way to indicate that the file is input, then use that instead of the "<". For illustration I will call this file CommandScript. For example,
while read dirname filename; do cd "$dirname"; afnis -infile "$filename"; done
Then, to run all of those, you can
system("cygwin CommandScript < InputSpecs")
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Interactive Control and Callbacks 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!