Using dir in evalc
2 次查看(过去 30 天)
显示 更早的评论
Hi all
I am trying to extract the files ending with Marksheet.csv using
evalc('dir **Marksheet.csv**')
I know that dir tells MATLAB to scan the current folder. What if my code is in a different folder (/stimulus/test/codes) and I do not want MATLAB to cd into the folder containing the Marksheet.csv files (/stimulus/test/results). Is there a way to edit
evalc('dir **Marksheet.csv**')
so that dir in this command refers to /stimulus/test/results and I can still run this command in a code stored in /stimulus/test/codes.
Thank you for your help.
Suha
0 个评论
采纳的回答
Walter Roberson
2018-1-9
That code is invalid.
"dir name lists files and folders that match name. When name is a folder, dir lists the contents of the folder. Specify name using absolute or relative path names. The name argument can include the * wildcard in the file name, and both the * and the wildcard in the path name. Characters next to a wildcard must be file separators."
Your code
evalc('dir **Marksheet.csv**')
uses the wildcard without being adjacent to file separators.
If you want the files ending in Marksheet.csv that are in a different directory then
resultsdir = '/stimulus/test/results';
dinfo = dir( fullfile(resultsdir, '*Marksheet.csv') );
filenames = fullfile( resultsdir, {dinfo.name} );
Notice the complete lack of evalc(). The cell array of character vectors, filenames, will have each file name fully qualified.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 File Operations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!