Add same to different paths

I have a folder, which has some excel sheets. These excel sheets are taken as input for my code.
I am using cd and addpath and rmpath functiions to automatically run this script in different folders.
I need to run this code in 5 different folders. Input files in folders are same. There are around 800 input files. I dont want to copy paste these files in all 5 folders.
Is there any way by which I could call the files from one folder as input in all 5 different folders while running code.
I tried using shortcuts , but it did not work.

 Akzeptierte Antwort

Jan
Jan am 11 Jun. 2013
Bearbeitet: Jan am 11 Jun. 2013

1 Stimme

You can address a file using the full path:
Folder = 'C:\DataPath'; % Set accordingly
List = dir(fullfile(Folder, '*.xlsx');
for iList = 1:length(List)
File = fullfile(Folder, List(iList).name);
... Operations with the file here
end
Now accessing the files is independent from th current folder.

7 Kommentare

Priya
Priya am 11 Jun. 2013
Thanks.
However, I cant apply for loop for list as I am calling the input file at different parts of my code.
Priya
Priya am 11 Jun. 2013
Is there no way, by which I can access these files from anywhere and call them anywhere in my code ?
Jan
Jan am 11 Jun. 2013
@Priya: The shown method is reliable and allows to access files at any location. Using full path names is the recommended and standard method to access files.
If you need something else, I assume you did not explain the problem clearly enough yet. What does "call the files anywehere" mean?
Priya
Priya am 12 Jun. 2013
Actually I have .pdb files as input which i read through pdbread function.
I have around 60 different codes which read same .pdb files.
I already have a for loop to read those files in each of the 60 codes.
But the problem is I need to add the folders containing those .pdb files to my current path.
I have made 60 folders to store results of 60 different codes. However, I have to copy paste the folder containing .pdb files in all 60 folders, which is consuming a lot of space.
So , is there any way, by which without using for loop, I can use .pdb files as input from single folder at certain location without duplicating this folder in all 60 different folders.
Iain
Iain am 12 Jun. 2013
copy the files to your current directory?
give your pdbread function the full filename (which includes path)
Jan
Jan am 12 Jun. 2013
@Priya: I still do not understand, why you have to copy the files or why they must be found in the current folder. I have shown you already, how you can access a file in a specific folder using the folder's name and the fullfile() command. Please explain why you do not want to use the full path name to the files.
And of course yo do not have to use a FOR loop. It appears in my example code only as example. The main point is the fullfile().
Priya
Priya am 12 Jun. 2013
@Jan and @lain :Thanks, I combined both suggestions and it worked

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Gefragt:

am 11 Jun. 2013

Community Treasure Hunt

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

Start Hunting!

Translated by