Why doesn't cd command work on parametric directory names ?

1 次查看(过去 30 天)
Hi All
I need to change between some subfolders under the main folder during my code inside a loop.
The strange thing is that when I write the directory name explicitly :
cd 'E:\MATLABfile\Main\subdirect'
It works smoothly
but If I do :
main= 'E:\MATLABfile\Main'
sub= strcat(main,'\subdirect')
and then when I am on the main folder , if I do :
cd sub
I get the error :
Error using cd
Cannot CD to sub (Name is nonexistent or not a directory).
How can I resolve it ?
  1 个评论
Stephen23
Stephen23 2020-3-13
"I need to change between some subfolders under the main folder during my code inside a loop."
Most likely you don't need to change directories.
Changing directories is slow (it forces MATLAB to analyze all of the files in the new folder), makes debugging harder, and is completely unnessesary for reading/writing data files. All MATLAB functions that read/write data files accept absolute/relative filenames (which are more efficient). In general you should not change directories just to access data files.

请先登录,再进行评论。

采纳的回答

Stephen23
Stephen23 2020-3-13
编辑:Stephen23 2020-3-13
"How can I resolve it ?"
Use function syntax (not command syntax):
cd(sub)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Search Path 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by