Page 1 sur 1

Créer un raccourci en relatif (avec un batch)

Posté : dim. 19 nov. 2017 21:09
par maxgall
Bonjour à tous,

Voici ma question: je souhaite créer dans mon disque dur un raccourci en relatif et non pas en absolu, cad sans faire référence à la racine car la lettre attribuée change selon les PCs.
Exemple: j'ai mon disque dur branché sous G:, et à l'intérieur un dossier Photos et 2 sous-dossiers Photos1 et Photos2, et je souhaite créer un raccourci de mon dossier Photos2 dans Photos1
Si je crée un raccourci Windows, il crée "G:\Photos2" qui ne marchera plus dès que la lettre racine est modifiée
J'ai alors essayé de crée un raccourci en mettant l'adresse suivante: "..\Photos2" (".." étant pour dossier père, "." pour dossier présent) mais Windows ne reconnait pas l'adresse

Suite à mes recherches sur forums, je me suis alors tourné vers un fichier batch
J'ai crée un fichier batch (fichier texte renommé en .bat) avec cette ligne de commande: "..\Photos2" > cela lance la fenêtre Dos mais cà n'ouvre pas le dossier.
Je suis étonné que çà ne fonctionne pas car çà marche pour ouvrir un fichier > exemple j'ai crée un fichier word "test.doc" dans le dossier Photos2 et j'ai créé dans le dossier Photos1 un batch avec cette ligne: "..\Photos2\test.doc", et là quand j'ouvre mon batch, cela ouvre la fenêtre Dos et çà ouvre mon fichier word test !!

Il semble donc que le batch fonctionne pour ouvrir un fichier mais pas, tout simplement, un dossier...
Il y a je sur le forum un vieux sujet de 2005 sur çà mais sans solution pour mon problème!

Merci si vous avez une solution!!

Re: Créer un raccourci en relatif (avec un batch)

Posté : dim. 19 nov. 2017 23:17
par Alain Quarré
Tu auras compris que Windows ne permet par les raccourcis relatifs.... peut-être trop complexe à mettre en place.
(comme windows ne permet toujours pas de faire plusieurs partitions sur une clé USB, restriction d'un autre âge toujours présente)
Pour ton batch, il est normal de pouvoir 'lancer' un fichier par un batch, en fait, tu n'exécute pas le fichier, tu fais intervenir l’association de fichier, qui lance le programme ad hoc.

Un dossier par contre, n'a pas cette association qui permettrait de l'ouvrir juste en l’exécutant dans un batch.

Mais, avec un batch, on peut arriver à faire ce que tu cherches, ouvrir un dossier d'après un chemin relatif.
Pour cela, il faut que le batch replace le focus sur le dossier où il se trouve, et de là, ouvrir l'explorateur sur un dossier donné par un chemin relatif (tu suis?)
Ce bacth ressemblera à cela:

Code : Tout sélectionner

@echo off
cd /d %~dp0
explorer ..\test
Je te laisse découvrir et essayer ce batch, si tu as des questions, n'hésite pas.

Alain

Re: Créer un raccourci en relatif (avec un batch)

Posté : lun. 20 nov. 2017 11:32
par maxgall
Bonjour Alain,

Merci beaucoup pour ta réponse rapide, tu as bien cerné mon problème et m'a apporté une solution qui m'a l'air d'etre tout à fait adaptée.
Par contre je ne m'y connais pas des masses en programmation et je ne connaissais pas les batchs avant de m'y intéresser pour ce problème en particulier.
Peux-tu stp me dire quelles lignes de commande écrire exactement par rapport à l'exemple que j'ai donné:
un disque dur externe, dans le lequel il a u un doosier nommé photos et 2 sous dossiers nommés Photos1 et Photos2. Et je souhaite avoir dans le dossier Photos1 un raccourci qui pointe vers le dossier Photos2 (partons du principe qu'il y a une phtot nommé pic dans le dossier Photos2)
que faudrai-il alors écrire dans le batch?
(les essais que j'ai fait m'ouvrent à chaque fois le dossier C:\Mes documents ;;;;?

Je te remercie d'avance

Maxime

Re: Créer un raccourci en relatif (avec un batch)

Posté : mar. 21 nov. 2017 02:21
par Alain Quarré
Attention nous ne parlons plus de raccourcis, mais de batch
Ce seront deux batch, un dans chaque dossier.
cela reste simple, dans le dossier Photos1, il y aura le batch qui pointe vers le dossier Photos2
et dans le dossier Photos2, il y aura le batch qui pointe vers le dossier Photos1
ces deux batch seront comme celui que je t'ai donné, en changeant seulement la dernière ligne.
comme ceci:

Code : Tout sélectionner

@echo off
cd /d %~dp0
explorer ..\Photos2
et

Code : Tout sélectionner

@echo off
cd /d %~dp0
explorer ..\Photos1
Pour ton problème
maxgall a écrit :les essais que j'ai fait m'ouvrent à chaque fois le dossier C:\Mes documents ;;;;?
Cela est probablement dû au fait que tu n'a pas bien tapé la deuxiéme ligne

Code : Tout sélectionner

cd /d %~dp0
ou que ton batch ne se trouve pas au bon endroit.
Cette ligne est là pour replacer le focus du script sur le dossier où il se trouve, elle est primordial pour pouvoir utiliser un chemin relatif. (car c'est depuis le dossier ayant le focus que le chemin relatif sera parcouru)

Pour la suite, fait une capture de ton batch et de l'arborescence de tes dossiers.
Et ceci:
maxgall a écrit :(partons du principe qu'il y a une photo nommé pic dans le dossier Photos2)
en quoi cela intervient-il dans ce qui nous occupe?

++

Alain

NB: le forum est doté d'un système de dépôt d'image, inutile d'aller voir ailleurs! voir topic251.html

Re: Créer un raccourci en relatif (avec un batch)

Posté : mar. 21 nov. 2017 09:45
par maxgall
Bonjour Alain,

Merci beaucoup pour ton aide, cela fonctionne parfaitement!
Je m’étais un peu embrouillé, et je croyais que le batch faisait référence à un fichier, puis remontait vers le dossier contenant ce fichier, c'est pour çà que je parlais d'un fichier pic.
Mais comme çà avec 2 batchs çà marche très bien !
Je te remercie pour tout

Re: Créer un raccourci en relatif (avec un batch)

Posté : mar. 21 nov. 2017 10:09
par maxgall
et une dernière chose, mais j'en demande peut-être trop...?
existe-t-il une commande pour que le dossier vers lequel pointe le batch s'ouvre dans la même fenêtre et non une nouvelle fenêtre?

Merci beaucoup

Maxime

Re: Créer un raccourci en relatif (avec un batch)

Posté : lun. 11 mars 2019 20:51
par Robert83
Pour ce genre de chose, j'utilise un petit logiciel (pas très jeune) gratuit et portable appelé Pstart.

Il permet de créer des menus sur une clé ou un DD externe et les liens sont préservés si la lettre change.
Il accepte les liens relatifs tant vers les fichiers, les applications portables et les dossiers.

Ca marche aussi quand on copie une arborescence d'une clé sur une autre.

Ca marche encore sur un disque dur local.

Il est très facile d'utilisation, rapide et très pratique.

A essayer.