Dynamic filepath for sftp not allowed
1 次查看(过去 30 天)
显示 更早的评论
Home="/folder1/folder2";
Scanname="Exp04_Sample1";
Sftp_path=strcat(Home,"/",Scanname);
fileInfo=dir(s,Sftp_path);
Why does the above not work?
But
fileInfo=dir(s,"/folder1/folder2/Exp04_Sample1");
will work?
1 个评论
Manas Shivakumar
2023-10-9
Can you describe the variable 's' ? specifically its purpose and its type. I couldn't find MATLAB's dir() function supporting a signature like this dir(var_a, var_b). List folder contents - MATLAB dir - MathWorks India
回答(1 个)
Vatsal
2023-11-17
Hi,
The issue seems to be with the 'dir' function. The 'dir' function in MATLAB is used to list files and folders in a directory. When you use 'dir' with a variable as an argument, MATLAB expects the variable to be a string that specifies the name of the file or folder. If the variable is not a string or if the string does not represent a valid file or folder name, 'dir' will not work as expected. In the provided code, 's' and 'Sftp_path' are variables. If 's' is not defined in your code or does not represent a valid file or folder name, the 'dir' function will not work. Similarly, if 'Sftp_path' does not represent a valid file or folder name, the 'dir' function will not work.
I have attached a modified code below:
Home = '/folder1/folder2';
Scanname = 'Exp04_Sample1';
Sftp_path = fullfile(Home, Scanname);
fileInfo = dir(Sftp_path);
In this code, 'fullfile' is used instead of 'strcat' to construct the file path. 'fullfile' constructs a full file specification from the specified folder and file names. It is generally a better choice for constructing file paths because it automatically handles the file separators.
To learn more about the usage and syntax of 'dir' and 'fullfile', you may refer to the MathWorks documentation links below:
I hope this helps!
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!