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 comentarios

Geoff Hayes
Geoff Hayes el 11 de Oct. de 2019
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.
Zeynab Mousavikhamene
Zeynab Mousavikhamene el 11 de Oct. de 2019
@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.
Zeynab Mousavikhamene
Zeynab Mousavikhamene el 11 de Oct. de 2019
Editada: Zeynab Mousavikhamene el 11 de Oct. de 2019
@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.
Jim Riggs
Jim Riggs el 11 de Oct. de 2019
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 el 12 de Oct. de 2019
Editada: Stephen23 el 24 de Abr. de 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:

Iniciar sesión para comentar.

 Respuesta aceptada

per isakson
per isakson el 12 de Oct. de 2019
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'] ) );

Más respuestas (0)

Categorías

Más información sobre File Operations en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 11 de Oct. de 2019

Editada:

el 24 de Abr. de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by