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

Windows Discussion :

Créer un chemin secondaire "virtuel" vers un dossier


Sujet :

Windows

  1. #1
    Expert confirmé Avatar de Barsy
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    1 484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 484
    Points : 5 277
    Points
    5 277
    Par défaut Créer un chemin secondaire "virtuel" vers un dossier
    Bonjour,

    J'ai une série de fichier batch qui font référence à un exécutable. Cet exécutable est à la même place sur tous les PC... sauf sur un.

    Je souhaiterai savoir si, sur le PC en question, il est possible de définir un chemin "virtuel" qui pointerait vers l'exécutable en question.

    Par exemple, mon batch fait référence à "C:\toto\toto.exe", or sur ce PC, l'adresse correcte est "C:\tata\toto.exe". Est-il possible de faire une manip qui permette pour le second PC de pointer vers "C:\tata\toto.exe" si je tape dans la barre d'adresse "C:\toto\toto.exe" ?

    J'ai essayé en créant un raccourci, mais ça ne fonctionne pas, le raccourci me transforme toto.exe en toto.exe.lnk.
    Je n'ai pas la possibilité de déplacer mon éxécutable ou de modifier le contenu des batchs.
    Il existe le fichier "hosts" qui permet de faire ça pour la redirection d'IP, existe-t-il la même chose pour les chemins physique ?
    "tatatatatatatatataaa !! tata taaa !! tata taaa !! tatatata tataaa !! tata taaa !! tata taaa !!"

  2. #2
    Expert éminent sénior
    Avatar de JML19
    Homme Profil pro
    Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Inscrit en
    Décembre 2010
    Messages
    14 939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2010
    Messages : 14 939
    Points : 23 253
    Points
    23 253
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par Barsy Voir le message
    Bonjour,

    J'ai une série de fichier batch qui font référence à un exécutable. Cet exécutable est à la même place sur tous les PC... sauf sur un.

    Je souhaiterai savoir si, sur le PC en question, il est possible de définir un chemin "virtuel" qui pointerait vers l'exécutable en question.

    Par exemple, mon batch fait référence à "C:\toto\toto.exe", or sur ce PC, l'adresse correcte est "C:\tata\toto.exe". Est-il possible de faire une manip qui permette pour le second PC de pointer vers "C:\tata\toto.exe" si je tape dans la barre d'adresse "C:\toto\toto.exe" ?

    J'ai essayé en créant un raccourci, mais ça ne fonctionne pas, le raccourci me transforme toto.exe en toto.exe.lnk.
    Je n'ai pas la possibilité de déplacer mon éxécutable ou de modifier le contenu des batchs.
    Il existe le fichier "hosts" qui permet de faire ça pour la redirection d'IP, existe-t-il la même chose pour les chemins physique ?
    Bonjour

    Tu ne peux pas créer l'exécutable c:\toto\toto.exe qui lance c:\tata\toto.exe ?

    Par exemple avec un point bat qui lance c:\tata\toto.exe

    Je créais le dossier toto dans ce dossier toto je fais un point bat toto.bat et dans ce point bat j'écris ==> call c:\tata\toto.exe.

    Donc lorsque je lancerais c:\toto\toto.bat sera exécuté c:\tata\toto.exe
    Vous pouvez utiliser les FAQ (ICI) ou les Tutoriels (ICI) et aussi accéder au blog (ICI)

  3. #3
    Expert confirmé Avatar de Barsy
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    1 484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 484
    Points : 5 277
    Points
    5 277
    Par défaut
    C'est une idée. Le problème est que ce ne peut-être un .bat puisqu'il faut qu'il ait le même nom que le fichier cible qui est un .exe.

    J'ai essayé en renommant le batch en .exe, mais ça ne fonctionne pas. S'il faut que je développe un .exe pour appeller l'autre .exe, ça risque d'être un peu lourd...
    Enfin, je peux essayer...
    "tatatatatatatatataaa !! tata taaa !! tata taaa !! tatatata tataaa !! tata taaa !! tata taaa !!"

  4. #4
    Expert éminent sénior
    Avatar de JML19
    Homme Profil pro
    Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Inscrit en
    Décembre 2010
    Messages
    14 939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2010
    Messages : 14 939
    Points : 23 253
    Points
    23 253
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par Barsy Voir le message
    C'est une idée. Le problème est que ce ne peut-être un .bat puisqu'il faut qu'il ait le même nom que le fichier cible qui est un .exe.

    J'ai essayé en renommant le batch en .exe, mais ça ne fonctionne pas. S'il faut que je développe un .exe pour appeller l'autre .exe, ça risque d'être un peu lourd...
    Enfin, je peux essayer...
    Oui il faut faire un exe qui lance l'autre exe et qui porte le même nom.

    Autrement si tu ne précises pas l'extension, avant cela fonctionnait il cherchait d'abord un point com ensuite un point exe après un point bat, mais maintenant pas sur.
    Vous pouvez utiliser les FAQ (ICI) ou les Tutoriels (ICI) et aussi accéder au blog (ICI)

  5. #5
    Expert confirmé Avatar de Barsy
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    1 484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 484
    Points : 5 277
    Points
    5 277
    Par défaut
    J'ai essayé, ça ne marche pas...

    Voilà le code en .NET pour ceux que ça interresse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    static void Main(string[] args)
            {
                System.Diagnostics.ProcessStartInfo myInfo =
                    new System.Diagnostics.ProcessStartInfo();
                myInfo.FileName = @"C:\tata\toto.exe";
                myInfo.WorkingDirectory = @"C:\tata";
    
                string arguments = "";
                foreach (string arg in args)
                {
                    arguments = arguments + arg + " ";
                }
    
                myInfo.Arguments = arguments;
    
                System.Diagnostics.Process.Start(myInfo);
            }
    J'ai donc eu l'exécutable que j'ai placé dans C:\toto\toto.exe

    Résultat, quand je le lance à la main, ça fonctionne très bien. Mais quand je le lance à partir du batch, les sorties de l'exécutable n'apparaissent pas dans la console et il y a pas mal d'erreurs (qui ne se produisent pas si je lance directement C:\tata\toto.exe depuis le batch).
    "tatatatatatatatataaa !! tata taaa !! tata taaa !! tatatata tataaa !! tata taaa !! tata taaa !!"

  6. #6
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    Il existe sous Windows depuis Vista, des dossiers de type link qui ne sont que des liens virtuels vers des dossiers situés ailleurs, mais je ne sais pas comment on les créer

    L'idée sera de créer un dossier Toto qui sera un lien vers le dossier Tata

    EDIT : Microsoft appele ça des liens symboliques. Ils sont créé par la commande MKLINK lancée dans une console d'administration lancée en tant qu'Administrateur
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  7. #7
    Expert éminent sénior
    Avatar de JML19
    Homme Profil pro
    Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Inscrit en
    Décembre 2010
    Messages
    14 939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2010
    Messages : 14 939
    Points : 23 253
    Points
    23 253
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par Barsy Voir le message
    J'ai essayé, ça ne marche pas...

    Voilà le code en .NET pour ceux que ça interresse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    static void Main(string[] args)
            {
                System.Diagnostics.ProcessStartInfo myInfo =
                    new System.Diagnostics.ProcessStartInfo();
                myInfo.FileName = @"C:\tata\toto.exe";
                myInfo.WorkingDirectory = @"C:\tata";
    
                string arguments = "";
                foreach (string arg in args)
                {
                    arguments = arguments + arg + " ";
                }
    
                myInfo.Arguments = arguments;
    
                System.Diagnostics.Process.Start(myInfo);
            }
    J'ai donc eu l'exécutable que j'ai placé dans C:\toto\toto.exe

    Résultat, quand je le lance à la main, ça fonctionne très bien. Mais quand je le lance à partir du batch, les sorties de l'exécutable n'apparaissent pas dans la console et il y a pas mal d'erreurs (qui ne se produisent pas si je lance directement C:\tata\toto.exe depuis le batch).

    Il faut peut être positionner l'exécutable de redirection dans le bon dossier dans ce cas.
    Vous pouvez utiliser les FAQ (ICI) ou les Tutoriels (ICI) et aussi accéder au blog (ICI)

  8. #8
    Expert confirmé Avatar de Barsy
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    1 484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 484
    Points : 5 277
    Points
    5 277
    Par défaut
    Citation Envoyé par sevyc64 Voir le message
    Il existe sous Windows depuis Vista, des dossiers de type link qui ne sont que des liens virtuels vers des dossiers situés ailleurs, mais je ne sais pas comment on les créer

    L'idée sera de créer un dossier Toto qui sera un lien vers le dossier Tata

    EDIT : Microsoft appele ça des liens symboliques. Ils sont créé par la commande MKLINK lancée dans une console d'administration lancée en tant qu'Administrateur
    C'est sur un Windows XP

    Citation Envoyé par JML19 Voir le message
    Il faut peut être positionner l'exécutable de redirection dans le bon dossier dans ce cas.
    Et ensuite, je refais un exécutable de redirection qui pointe vers l'exécutable de redirection ?
    "tatatatatatatatataaa !! tata taaa !! tata taaa !! tatatata tataaa !! tata taaa !! tata taaa !!"

  9. #9
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    Citation Envoyé par Barsy Voir le message
    C'est sur un Windows XP
    Aie, Aie, Aie, sous XP ça va être nettement plus compliqué, il va falloir être super costaud pour y arriver

    En fait, sous XP, l'utilitaire mklink n'existe pas dans le système. Donc pour la partie la plus ardue de la solution, il va falloir télécharger un utilitaire spécifique qui s'appelle Junction : http://technet.microsoft.com/en-us/s.../bb896768.aspx

    Pour le reste, lire la page.
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  10. #10
    Expert éminent sénior
    Avatar de JML19
    Homme Profil pro
    Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Inscrit en
    Décembre 2010
    Messages
    14 939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2010
    Messages : 14 939
    Points : 23 253
    Points
    23 253
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par Barsy Voir le message
    C'est sur un Windows XP

    Et ensuite, je refais un exécutable de redirection qui pointe vers l'exécutable de redirection ?
    Non, dans un bat tu peux faire pour lancer un exécutable positionner son environnement avant de le lancer dans un autre dossier :

    Sans positionnement tu indiques le chemin complet et le positionnement est par défaut où tu te trouves lors de l'exécution de la commande ==> c:\tata\toto.exe

    Ou tu te positionnes dans le dossier ou devra s'exécuter le programme en question.

    C: pour mettre sur le disque C:

    CD tata pour te positionner à l'endroit où l'exécutable trouvera son environnement, ses dll et autres fichiers.

    Ensuite tu dois taper la commande complète ==> c:\toto\toto.exe qui lance l'exécutable car tu es non positionné au bon endroit, puisque par le CD tu es dans tata.

    C'est de cela que je parle, de te mettre dans le dossier de l'exécutable et de lancer la commande de l'exécutable de redirection depuis le bon dossier de travail, mais je ne sais pas si avec tes outils de programmation tu peux faire ceci.
    Vous pouvez utiliser les FAQ (ICI) ou les Tutoriels (ICI) et aussi accéder au blog (ICI)

  11. #11
    Expert confirmé Avatar de Barsy
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    1 484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 484
    Points : 5 277
    Points
    5 277
    Par défaut
    @JML19 : Dans le code que j'ai mis ci-dessus, c'est ce que fait cette ligne là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myInfo.WorkingDirectory = @"C:\tata";
    Qui d'ailleurs pointe plutôt vers "C:\toto" en fait (l'erreur viens du moment ou j'ai remplacé mes adresses par toto et tata bien sur, il n'y a pas d'erreur dans mon code... Il n'y a jamais d'erreur dans mon code... jamais... ).

    @sevyc64 : Ça marche !!

    Excellent cet outil, junction. Je ne connaissais pas. En tout cas, merci !!
    "tatatatatatatatataaa !! tata taaa !! tata taaa !! tatatata tataaa !! tata taaa !! tata taaa !!"

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

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