70 votes

En utilisant des chemins relatifs pour les raccourcis Windows

J'ai un schéma de dossier comme (version très simplifiée) :

Nouveaux fichiers
 >Outils
 >Scripts
Fichiers testés
 >Outils
 >Scripts

... et j'aimerais avoir un raccourci dans chaque dossier des sous-dossiers de "Nouveaux fichiers", vers le sous-dossier de "Fichiers testés". Mais ce dossier peut être déplacé de temps en temps, ce qui casserait lesdits raccourcis.

Y a-t-il un moyen de créer un raccourci relatif vers chaque dossier ? Je me souviens avoir fait cela en HTML où vous pouviez définir un chemin, quelque chose du genre .../Fichiers pour revenir à un parent et ensuite dans un nouveau dossier, mais je ne suis pas sûr que cela soit pris en charge sous les raccourcis Windows ?

PS : Le cas de raccourcis relativement similaires, lorsque la cible est un fichier, est traité dans https://stackoverflow.com/questions/1169556/making-a-windows-shortcut-start-relative-to-where-the-folder-is. Dans le cas présent, la cible est un dossier.

1 votes

Avez-vous essayé ../Files, avec deux points ? Je ne suis pas sous Windows mais je pense que cela peut fonctionner.

0 votes

1 votes

@sancho.s - À ma connaissance, les réponses là-bas ne fonctionnent que pour l'exécution de fichiers .bat. Ce qu'il faut ici, c'est un moyen de faire référence à un dossier à la place.

70voto

Rik Points 12809

Vous pouvez utiliser cet utilitaire: Relative.

Il crée essentiellement un raccourci vers "explorer.exe" avec le paramètre de votre chemin relatif en effectuant un clic droit (de la même manière que vous créez un raccourci normal).

Bien sûr, vous pouvez le faire manuellement.
Dans votre exemple, vous créeriez un raccourci dans "Nouveaux Fichiers\Outils" vers

%windir%\explorer.exe "..\..\Fichiers Testés\Outils"

Vous pouvez utiliser le menu contextuel habituel "Nouveau/Créer un raccourci" de Windows pour cela et taper la commande ci-dessus dans la zone "Tapez l'emplacement de l'élément".

1 votes

J'ai lu à ce sujet lors de mes recherches précédentes, mais j'espérais une solution native dans Explorer. Ce sera cependant mon plan de secours, cheers.

0 votes

Au fait, ce chemin relatif restera-t-il le même entre les systèmes également? Ou est-ce que j'aurai besoin de Relative pour être installé si je déplace les dossiers/contenus entre différents systèmes?

3 votes

"Relative" ne fait que le raccourci en utilisant le standard "%windir%\explorer.exe" donc vous n'avez pas besoin de Relative sur le système différent. Ce serait la même chose que de taper %windir%\explorer.exe avant le chemin relatif tout en créant un raccourci standard. Donc si vous le faites manuellement, vous n'aurez pas besoin de Relative du tout. (Vous devez juste vous souvenir de la commande avant votre chemin relatif)

44voto

Ed Brannin Points 2723

Une solution possible est d'utiliser un fichier batch d'une seule ligne au lieu d'un raccourci pour ouvrir ce que vous voulez ouvrir. Le fichier batch vous permettra d'utiliser des chemins relatifs à l'intérieur de celui-ci et aura un répertoire de travail du dossier où le fichier batch est placé.


Une autre option est de démarrer votre raccourci avec cmd.exe au lieu de ce que vous lancez, puis passez ce que vous lancez en tant qu'argument à cmd.exe

entrer la description de l'image ici

%COMSPEC% est une variable d'environnement pointe vers l'invite de commandes par défaut.

/C permet à la console de se fermer après avoir exécuté la commande.

0 votes

Merci beaucoup! Cela a fonctionné pour moi. J'ai passé des heures à essayer de faire en sorte que mon raccourci exécute un script power-shell dans le même répertoire.

2 votes

Utiles pour une situation différente, cependant la question ne concerne pas l'ouverture d'un fichier; il s'agit de pouvoir sauter vers un dossier spécifié dans l'Explorateur Windows. Y a-t-il un moyen d'adapter cette réponse pour le faire ?

1 votes

Mais cette réponse correspond toujours au titre de la question. C'est pourquoi je suis venu ici. Pour créer un lien relatif vers un fichier (exe). Cette solution fonctionne, mais le /C ne fait pas fermer la console dans mon cas.

12voto

Alexis PERROTTEY Points 155

Cette astuce fonctionne :

%COMSPEC% /C start "le nom de votre exe sans chemin"

exemple

%COMSPEC% /C start winmine.exe

4 votes

Veuillez relire la question avec attention. Votre réponse ne répond pas à la question initiale.

2 votes

Pour Win10 1607, cette solution répond parfaitement à la question de l'OP, Cible : %COMSPEC% /C "start GoogleChromePortable.exe -enableextensions -incognito" Démarrer dans : [laisser vide]

2 votes

@semtex41 Hein ? J'essaie ça, et le résultat est une boîte de dialogue d'erreur disant "Windows ne peut pas trouver 'GoogleChromePortable'. Qu'est-ce que cela a à voir avec l'objectif de l'OP de naviguer dans l'Explorateur Windows vers un dossier spécifié ?

8voto

Hrvoje Golcic Points 181

Je suis en train d'utiliser une solution similaire dans un modèle qui fait fonctionner mon environnement de développement web (ouvrir le répertoire du projet, ouvrir le navigateur, exécuter WAMP, exécuter SCSS...)

entrer la description de l'image ici

Je peux passer des arguments à mon script bat, etc., c'est cool. Assurez-vous de mettre l'argument /c après cmd.exe

7voto

Krauss Points 161

Vous pouvez utiliser mklink. Il vous permet de créer des liens symboliques, des liens physiques et des liens de répertoire.

 mklink /d Outils "..\Fichiers testés\Outils"  (invite de commande élevée)

S'il n'y a pas d'accès élevé, vous pouvez utiliser /j

 mklink /j Outils "..\Fichiers testés\Outils"

Pour déplacer toute la structure, vous devriez utiliser la commande xcopy. Par exemple, si toute la structure est sous conteneur:

conteneur
   Nouveaux fichiers
       Scripts [..\Fichiers testés\Scripts]
       Outils  [..\Fichiers testés\Outils]
   Fichiers testés    
      Scripts
      Outils

en entrant la commande

 xcopy /b /e conteneur conteneur2

créera la structure suivante:

conteneur2
   Nouveaux fichiers
       Scripts [..\Fichiers testés\Scripts]
       Outils  [..\Fichiers testés\Outils]
   Fichiers testés    
      Scripts
      Outils

L'interrupteur /b copiera les liens symboliques au lieu de les convertir en dossiers. (Notez que /b a un sens complètement différent pour la commande copy)

1 votes

Mais est-ce que ce lien sera toujours correct, si l'ensemble des dossiers est déplacé vers un autre emplacement?

0 votes

Cela nécessite des privilèges que je n'ai pas, bien que cela semble bien fonctionner... Auriez-vous l'obligeance de poster une image des propriétés raccourci résultantes une fois qu'il est créé ?

1 votes

Les liens sont effectivement corrects. Cela peut être confirmé avec la commande "dir". Le problème est que les actions de "copier-coller", "déplacer" et "copier" du Gestionnaire de fichiers vont détruire la structure. J'ai modifié la réponse pour inclure une solution de contournement.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X