1 votes

Bizarrerie du lien Windows 7

Ce qui suit se produit dans une invite de commande sous Windows 7. La bizarrerie est qu'il est possible de créer un lien mais qu'il n'est pas possible de changer de répertoire vers le nouveau lien. Pouvez-vous l'expliquer ?

C:\Luca\programs>mklink /D Screen_recorder_OBSstudio ..versioned/OBS-studio-0.15.2
Invalid switch - "OBS-studio-0.15.2".

C:\Luca\programs>mklink /D Screen_recorder_OBSstudio "..versioned/OBS-studio-0.15.2"
symbolic link created for Screen_recorder_OBSstudio <<===>> ..versioned/OBS-studio-0.15.2

C:\Luca\programs>cd Screen_recorder_OBSstudio
The filename, directory name, or volume label syntax is incorrect.

2voto

DavidPostill Points 140654

Il est possible de créer un lien mais il n'est pas possible de changer de répertoire vers le nouveau lien.

Pouvez-vous l'expliquer ?

Oui.

mklink /D Screen_recorder_OBSstudio "..versioned/OBS-studio-0.15.2"

Vous avez réussi à créer un lien appelé Screen_recorder_OBSstudio vers une cible appelée ..versioned/OBS-studio-0.15.2 .

Malheureusement ..versioned/OBS-studio-0.15.2 n'est pas un nom de répertoire valide, donc lorsque vous essayez de cd vous obtenez une erreur.

Je pense que vous devez utiliser l'un des noms de cible suivants (en fonction de l'emplacement du répertoire cible, par rapport à celui du répertoire contenant le nouveau lien) :

  • versioned\OBS-studio-0.15.2
  • .\versioned\OBS-studio-0.15.2
  • ..\versioned\OBS-studio-0.15.2

Notes :

  • Il est préférable d'utiliser \ comme délimiteur d'élément de chemin de répertoire au lieu de / .

Puis-je créer un lien qui pointe vers une cible inexistante ?

Oui.

En dehors de mklink /h (hardlink) l'autre mklink toutes les options permettent aux liens de "pointer vers une cible inexistante" :

enter image description here

Source : mklink .

Cela signifie que vous pouvez créer le lien en premier et créer la cible plus tard (à ce moment-là, le lien commencera à fonctionner).

Exemple :

F:\test>dir foo
 Volume in drive F is Expansion
 Volume Serial Number is 3656-BB63

 Directory of F:\test

File Not Found

F:\test>mklink /d alink foo
symbolic link created for alink <<===>> foo

F:\test>dir foo
 Volume in drive F is Expansion
 Volume Serial Number is 3656-BB63

 Directory of F:\test

File Not Found

F:\test>md foo

F:\test>dir foo
 Volume in drive F is Expansion
 Volume Serial Number is 3656-BB63

 Directory of F:\test\foo

01/08/2016  12:34    <DIR>          .
01/08/2016  12:34    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  1,772,975,259,648 bytes free

Autres lectures

0voto

user2335321 Points 11

Je l'ai eu ! Merci pour les conseils.

Le problème était de taper

"..versioned/OBS-studio-0.15.2"

au lieu de

"..versioned\OBS-studio-0.15.2".

Pour mémoire, j'ai de nombreux autres liens vers des répertoires sous

..versioned\

et ils ne posent aucun problème. Ce qui était trompeur, c'est que mklink reconnaissait sans problème la création du lien, lorsqu'on utilise / au lieu de \N.

C:\Luca\programs>mklink /D Screen_recorder_OBSstudio "..versioned/OBS-studio-0.15.2"
symbolic link created for Screen_recorder_OBSstudio <<===>> ..versioned/OBS-studio-0.15.2

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