IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

change the path


Sujet :

MATLAB

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 38
    Points : 30
    Points
    30
    Par défaut change the path
    bonjour,
    je voudrai changer le chemin absolu d'un répertoire que l'utilisateur choisi.
    J'ai essayé avec la commande cd mais seul mon workspace change.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    path = uigetdir;
    path2 = cd([path '..']);
    Faut-il utiliser une autre commande ou je l'ai mal écrit?

    Merci de votre attention

  2. #2
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Bonjour,

    Déjà, ce n'est pas une bonne idée d'appeler ta variable path puisqu'une fonction MATLAB existe avec ce nom là.

    Si j'ai bien compris ce que tu veux faire, est-ce que ca correspond à ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    % Demande du chemin à l'utilisateur
    path2 = uigetdir();
     
    % Modification du chemin courant
    cd(path2);
    Duf
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 38
    Points : 30
    Points
    30
    Par défaut
    merci pour ta réponse,

    je ne veux pas modifier mon chemin courant mais un chemin différent qui est choisi par autrui (qui n'a rien à voir avec matlab). J'ai fait une mauvaise utilisation de cd, pardon.

    par exemple si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    path2 = uigetdir;
    path2 = ([path '\toto']);
    j'accède au chemin du répertoire suivant nommé toto (exemple).

    Maintenant, j'essaye de faire le contraire et d'accèder au chemin du répertoire précédent mais je bloque.
    j'espère être plus clair.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Points : 726
    Points
    726
    Par défaut
    Salut,

    Je pense qu'un exemple clair serait plus simple...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    dossier = pwd;
    maxi    = find(dossier == dossier(1), 1, 'last' );
    doss     = fullfile(dossier(1:maxi-1));
    dodo    = fullfile(doss,'V8');
    addpath(dodo)
    Voici un exemple de gestion de chemin d'accès regardes ce que fait chaque ligne et peut-être la réponse est là sinon, essaie de trouver un exemple simple de ce que tu veux...

    Christophe
    INCIA : MATLAB R2014a sous MAC OS 10.9.3

    Nous piétinerons éternellement aux frontières de l'Inconnu, cherchant à comprendre ce qui restera toujours incompréhensible. Et c'est précisément cela qui fait des nous des hommes. Isaac Asimov

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Points : 776
    Points
    776
    Par défaut
    Salut,

    c'est sur qu'un exemple serait plus simple à comprendre.

    Sinon, voici ce que moi j'ai compris...

    Tu as ton répertoire du workspace. Celui-là on n'y touche pas.

    Tu récupères un répertoire via uigetdir

    Tu concatènes path2 avec l'autre répertoire que tu veux.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    path3 = ([path2 '/toto']);
    Ton workspace n'a donc pas bougé mais la variable path3 contient la destination de ton nouveau chemin. On suppose que tu enregistres quelques trucs dans toto et ensuite tu veux remonter d'un niveau. Si c'est ca, tu peux utiliser les chaînes de caractères. Je ne sais pas si c'est la meilleur solution mais bon...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    path_temp='/toto';
    path2=uigetdir;
    path3 = ([path2 path_temp])
    % tu fais tes trucs...
    path4=path3(1:length(path3)-length(path_temp));

  6. #6
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    @Merel : aaaaaaaaah faut pas faire comme ça, c'est risqué

    => Comment concaténer le nom d'un fichier et celui d'un répertoire ?

    Et à l'inverse pour récupérer le chemin d'un fichier ou d'un répertoire il faut utiliser FILEPARTS.
    Règles du Forum

    Adepte de la maïeutique

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Points : 776
    Points
    776
    Par défaut
    Tu m'as fais peur.
    Mais c'est vrai que c'est pas la bonne méthode... je m'étais fait avoir y a quelques années avec ces / et \ en passant d'un windows à linux. Ca m'étais sorti de la tête. Merci pour le rappel ;-)

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 38
    Points : 30
    Points
    30
    Par défaut
    Merci a tous pour vos réponses bien que j'ai mal exposé mon problème.

    Je voulais en effet remonter d'un niveau après avoir enregistrer des fichiers dans un répertoire. Tu as bien compris merel.

    La commande FILEPARTS est parfaite et résout mon problème.

    Merci encore.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Need Help ! Change the nature project with a popup menu .
    Par francis.frederic dans le forum Eclipse Platform
    Réponses: 3
    Dernier message: 09/04/2008, 16h51
  2. Réponses: 1
    Dernier message: 05/12/2007, 16h57
  3. [C#]Access to the path denied
    Par zitoun dans le forum ASP.NET
    Réponses: 1
    Dernier message: 04/06/2007, 10h38
  4. Réponses: 2
    Dernier message: 21/02/2007, 09h00
  5. Could not find a part of the path
    Par Poussy-Puce dans le forum ASP.NET
    Réponses: 5
    Dernier message: 02/02/2007, 19h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo