path of a mfile not on search path

3 visualizzazioni (ultimi 30 giorni)
Bruno Luong
Bruno Luong il 30 Set 2019
Commentato: Bruno Luong il 9 Ott 2019
When an mfile is not on the search path or current path and when user types the name, MATLAB find it and issues a suggestion
>> foo
'foo' is not found in the current folder or on the MATLAB path, but exists in:
E:\matlab\test
Change the MATLAB current folder or add its folder to the MATLAB path.
Is there anyway to retreive the folder 'E:\matlab\test' programmatically?
  2 Commenti
Rik
Rik il 9 Ott 2019
I haven't tested this, but if I recall correctly the only folders that are searched are the folders in the drop down menu containing previous current working directory. There may be a way to retrieve that directory list and generate this suggestion yourself. You will probably need some Yair Altman level tricks.
Stephen23
Stephen23 il 9 Ott 2019
Modificato: Stephen23 il 9 Ott 2019
" There may be a way to retrieve that directory list..:"
Stored in prefdir, that shouldn't be too hard.

Accedi per commentare.

Risposta accettata

Rik
Rik il 9 Ott 2019
As suggested in a comment here you can use the diary function to capture output to the command window.
  3 Commenti
Rik
Rik il 9 Ott 2019
But you do see the text? (I'm on mobile so I can't currently check myself)
Bruno Luong
Bruno Luong il 9 Ott 2019
Yes I see the eror message with the path, but I cannot use it since some one has to type
diary off on command window.
(My purpose is to retrieve this path and suggest in the diaglog box to user to confirm if he/she wants add the path to run FOO)

Accedi per commentare.

Più risposte (1)

Jyotsna Talluri
Jyotsna Talluri il 9 Ott 2019
You can get the folders using 'addpath' function
  1 Commento
Bruno Luong
Bruno Luong il 9 Ott 2019
Modificato: Bruno Luong il 9 Ott 2019
My question is how to retreive the PATH name in the fix suggestion provided by MATLAB programatically.
I try try/catch lasterror, lasterr, etc... nothing seems to work. This error message seems to appear only when the mfile is invoked from the base workspace.

Accedi per commentare.

Categorie

Scopri di più su Environment and Settings in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by