Using dir() without changing directory?

I need to find files that have dir(['*K1*.json']); in their names which are in a specific folder different from the matlab script folder. I prefere not to change directory because I will get error while running the script.
Is there any way to do so?

6 Comments

Zeynab - rather than changing directories, why not just include the full path to that folder that has those files that you are looking for? Use that full path when calling dir.
@Geoff Hayes what do you mean by full path?
The full path to your folder could be something like
dir(['/users/geoffh/someFolder/*K1*.json'])
or whatever is appropriate for your platform.
@Geoff Hayes As i mentioned in the question, the folder containing *K1*.json is differnt from matlab running script and when I use dir(['/users/geoffh/someFolder/*K1*.json']) it will check all files in the folder containing the matlab script not in the folder containing K1.json files. I need a structure that can define the folder containing K1.json files.
Perhaps you did not understand:
The path specification "/users/geoffh/someFolder/" represents the full path to the folder that contains the files that you want to search. You need to substitude the actual path to your files.
If you specify a path in the 'dir' command, it will searth that specified folder.
Stephen23
Stephen23 on 12 Oct 2019
Edited: Stephen23 on 24 Apr 2023
"I prefere not to change directory because I will get error while running the script. "
Changing folders to access data files is slow and makes the code harder to debug. Best avoided.
It is much better to use absolute/relative filenames, as the others have already commented.
"the folder containing *K1*.json is differnt from matlab running script... I need a structure that can define the folder containing K1.json files."
That is exactly what absolute/relative filenames are for:

Sign in to comment.

 Accepted Answer

Use an absolute path rather than a relative path (as proposed in the comments). It's easier to get it right. Thus try
sad = dir( fullfile( 'c:', 'specific', 'folder', ['*K1*.json'] ) );

More Answers (0)

Categories

Tags

Community Treasure Hunt

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

Start Hunting!