Puis-je utiliser junction.exe pour créer un lien depuis un dossier existant vers un autre dossier?

1

Chaque fois que j'ai essayé d'utiliser junction sur un dossier existant, un message d'erreur m'indique que le dossier existe déjà. Existe-t-il une sorte de commande spéciale capable de gérer cela?

Exemple pour plus de clarté: junction.exe c:\users\Goran\AppData d:\Data\AppData me donne un message: "c:\users\Goran\AppData" already exists. (Duh, je sais)

programstinator
la source

Réponses:

2

Le dossier cible doit être vide .

L'opération réussirait si et seulement si C:\Users\Goran\AppData est vide.

le exemple de junction.exe usage confirme cela. Pourtant, il ne dit pas que le dossier cible, je veux dire le dossier qui deviendra jonction, doit être vide.


Reparse Points (identique aux points de jonction):

Les restrictions suivantes s'appliquent aux points d'analyse:

  • Des points d'analyse peuvent être établis pour un répertoire, mais le répertoire doit être vide . Sinon, le système de fichiers NTFS ne parvient pas à établir le point d'analyse.
Alexey Ivanov
la source
Oh bien .. Connaissez-vous un autre outil qui pourrait faire la même chose que junction.exe? Je ne peux pas vider le dossier AppData car certains fichiers sont TOUJOURS utilisés par le système d'exploitation.
programstinator
Aucun autre outil ne peut le faire car il est la limitation du NTFS .
Alexey Ivanov
1
@Goran_Mandic Vous pouvez contourner ce problème en créant un autre compte temporaire. Puis, en tant qu'administrateur, déplacez les fichiers de registre ntuser.* de C:\Users\Goran\AppData à D:\Data\AppDatapuis retirez tout de C:\Users\Goran\AppData et créez la jonction. (Faites une sauvegarde des fichiers de registre au cas où quelque chose se passerait mal.)
Alexey Ivanov