Wie kann ich einen symbolischen Link unter Windows 10 erstellen?

Ich las http://www.dropboxwiki.com/tips-and-tricks/sync-game-saves-across-multiple-computers, und ich weiß, dass junction/mklink auch in Windows 7 funktioniert hat, aber es scheint, dass der Befehl junction in Windows 10 zurückgezogen wurde.

Was ist der richtige Weg, um symbolische links in Windows 10?

Author: Peter Mortensen, 2016-01-02

5 answers

Es scheint, als ob der Junction-Befehl in Windows 10 zurückgezogen wurde.

Sie können oder von Windows SysInternals (das Teil von Microsoft ist) herunterladen:

Junction können Sie nicht nur NTFS-Junctions erstellen, sondern auch sehen, ob Dateien oder Verzeichnisse tatsächlich Reparse-Punkte sind. Reparse Points sind der Mechanismus, auf dem NTFS-Junctions basieren, und sie werden vom Windows Remote Storage Service (RSS) sowie vom Volume Mount verwendet Punkten.

Bitte lesen Sie diesen Microsoft KB-Artikel für Tipps zur Verwendung von Junctions.

Beachten Sie, dass Windows keine Verbindungen zu Verzeichnissen auf Remote-Freigaben unterstützt.


Wie erstelle ich Kreuzungen oder verzeichnissymbolische Links in Windows 10?

Laden Sie junction wie oben beschrieben herunter.

Jetzt können Sie die folgenden Befehle verwenden.

Erstellen Sie eine Kreuzung:

junction "C:\Documents and Settings\UserName\My Documents\My Dropbox\My Games" "C:\Documents and Settings\UserName\My Documents\My Games"

Erstellen Sie ein Verzeichnis symbolisch link:

mklink /D "C:\Documents and Settings\UserName\My Documents\My Dropbox\My Games" "C:\Documents and Settings\UserName\My Documents\My Games"

Sie können entweder mklink /j oder junction in Windows 10 verwenden, um Kreuzungen zu erstellen.

Sie können mklink /d in Windows 10 verwenden, um verzeichnissymbolische Links zu erstellen.

Anmerkungen:

  • junction kann auch Kreuzungen auflisten und feststellen, ob eine Datei im Gegensatz zu mklink eine Verbindung ist.

  • mklink ist ein interner Befehl nur innerhalb einer cmd Shell verfügbar.

  • Standardmäßig sind Administratorrechte erforderlich, um symbolische Links.

    Es kann auch anderen Benutzern gewährt werden. Die Sicherheitseinstellung "Symbolische Links erstellen" kann erteilt werden unter:

      Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment\
    

Beispiele

Mit mklink einen verzeichnissymbolischen Link erstellen:

F:\test>mklink /d test-dir-sym-link test
symbolic link created for test-dir-sym-link <<===>> test

Verwenden von mklink zum Erstellen einer Kreuzung:

F:\test>mklink /j test-junction test
Junction created for test-junction <<===>> test

Verwenden von junction zum Erstellen einer Junction:

F:\test>C:\apps\NirSoft\SysinternalsSuite\junction.exe test-junction test

Junction v1.06 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2010 Mark Russinovich
Sysinternals - www.sysinternals.com

Created: F:\test\test-junction
Targetted at: F:\test\test

Weiterlesen

  • Ein Az-Index der Windows CMD-Befehlszeile - Eine hervorragende Referenz für alle Dinge Windows-cmd-Linie verwandt.
  • mklink - Erstellen Sie eine symbolische Verknüpfung zu einem Verzeichnis oder einer Datei oder erstellen Sie eine feste Dateiverbindung oder einen Verzeichnisübergang.
 139
Author: DavidPostill,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-12 13:48:39

Öffnen Sie eine PowerShell-Sitzung als Administrator und geben Sie Folgendes ein:

New-Item -ItemType SymbolicLink -Path E:\Data\MyGames -Target "C:\users\UserName\MyGames"

Oder mit weniger ausführlicher Syntax:

ni E:\Data\MyGames -i SymbolicLink -ta "C:\users\UserName\MyGames" 

Sicherlich möchten Sie 2016 und mit Windows 10 nicht mit cmd-Befehlen oder externen Downloads herumspielen.

Windows 10 wird mit PowerShell 5 geliefert, das das Erstellen symbolischer Links unterstützt.

 60
Author: Peter Hahndorf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-05-06 10:30:25

Wenn Sie ein GUI-Tool zum Erstellen/Bearbeiten von Symlinks verwenden möchten http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html

Die Link Shell Extension (LSE) ermöglicht die Erstellung von Hardlinks , Junctions , Volume Mountpoints und symbolischen Links von Windows7/8 (hier zusammen als Links bezeichnet), einem Klonprozess für Ordner, der Hardlinks oder symbolische Links verwendet, und einem Kopierprozess, der sich um Junctions, symbolische Links und Hardlinks kümmert. LSE, wie sein Name es ist als Shell-Erweiterung implementiert und wird von Windows Explorer oder ähnlichen Datei - /Ordnermanagern aus aufgerufen. Die Erweiterung ermöglicht es dem Benutzer, eine oder mehrere Dateien oder Ordner auszuwählen und dann mit der Maus die Erstellung der erforderlichen Links abzuschließen - Hardlinks, Junctions oder symbolische Links oder im Falle von Ordnern zum Erstellen von Klonen, die aus harten oder symbolischen Links bestehen. LSE wird auf allen Windows-Versionen unterstützt, die NTFS Version 5.0 oder höher unterstützen, einschließlich Windows XP64 und Windows7 / 8 / 10. Hardlinks, Junctions und symbolische Links werden auf FAT-Dateisystemen NICHT unterstützt, und der Klon-und Smart Copy-Prozess wird auch nicht auf FAT-Dateisystemen unterstützt.

geben Sie hier die Bildbeschreibung ein

 20
Author: odvpbre,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-12-05 22:14:43

Wenn Sie Windows 10 build 14972 (Dezember 2016) oder höher:

Https://blogs.windows.com/windowsdeveloper/2016/12/02/symlinks-windows-10

Sie können den Entwicklermodus aktivieren:

Https://howtogeek.com/292914/what-is-developer-mode-in-windows-10

Dann benutze mklink ohne Admin. Alternativ PowerShell 6.2.0 (März 2019) oder höher erlauben Symlink ohne admin:

New-Item -ItemType SymbolicLink -Path new.txt -Target old.txt
 0
Author: Steven Penny,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-07-05 19:17:39

Es ist nicht nötig etwas zu installieren!

Es gibt eine einfache und open-source symlink_creator.bat Datei.

  • Drag & Drop gewünschte Datei/Ordner auf diese Datei.

  • Es ist Open-Source (siehe Anweisungen) , also klicken Sie einfach mit der rechten Maustaste auf > Bearbeiten Sie in der Datei, um den Inhalt (nur mehrere Zeilen) selbst anzuzeigen. Es müssen keine zusätzlichen .exe oder .dll Dateien installiert werden.

Batch-Datei

::  ================================================================== ::
::  ========================  Puvox.Software  ======================== ::
::  ================================================================== ::
::  ============== Symlink Creator with Drag&Drop v1.3 =============== ::
::  This script makes a symlink of any files/folders  ( ) 
::  ================================================================== ::
::  ================================================================== ::

@echo off
setlocal enableextensions enabledelayedexpansion

if "%~1"=="" ( mshta "javascript:alert('You should drag desired files onto this');close();" && exit )

set /P inputed_target_dir= Path to folder, wherein the symlink will be created:
set inputed_target_dir=%inputed_target_dir%\
set type=0

for %%a in (%*) do  (

rem  in PARENTHESIS we use ! instead % for set-ed variables  (read more: https://superuser.com/a/78509/249349 )
set original_path=%%a
set original_path_quoted=!original_path!
rem  Make it quoted (if it's not already quoted)
set original_path_quoted|find """" >nul || set original_path_quoted="!original_path!"

set isDirectory=no
:: if directory
FOR %%i IN (!original_path_quoted!) DO IF EXIST %%~si\NUL (
    set isDirectory=yes
    for /D %%i in (!original_path_quoted!) do SET original_drive=%%~di
    for /D %%i in (!original_path_quoted!) do SET original_dir=!original_drive!%%~pi
    for /f "delims=" %%i in (!original_path_quoted!) do SET original_basename=%%~ni
)

:: if file
FOR %%i IN (!original_path_quoted!) DO IF NOT EXIST %%~si\NUL (
    set isDirectory=no
    for /f "delims=" %%i in (!original_path_quoted!) do SET original_drive=%%~di
    for /f "delims=" %%i in (!original_path_quoted!) do SET original_dir=!original_drive!%%~pi
    for /f "delims=" %%i in (!original_path_quoted!) do SET original_basenameWithExt=%%~nxi
)


for /D %%i in ("%inputed_target_dir%") do SET target_drive=%%~di
for /D %%i in ("%inputed_target_dir%") do SET target_dir=!target_drive!%%~pi
  
set isSameDrive=1
IF /I "!original_drive!"=="!target_drive!" (  set isSameDrive=2 )

:: if same ditectories, then use prefix name
set prefix=
IF /I "!original_dir!"=="!target_dir!" ( set prefix=_symlinked_ )

if !type! LSS 1 (
    rem ::   If same drives, then allow user to choose HARD method. Otherwise, only SOFT can be used
    set type=2

    rem ::   DONT USE   "!isSameDrive!"=="yes"  comaprison, as it has issue  
    if /i !isSameDrive! GTR 2 ( set /P type= Seems source and Destinaton drives are same, so you have an opportunity to create HARD-SYMLINK [press 1], otherwise press ENTER and the default SOFT-SYMLINK will be created : )
)

:: if directory
if !isDirectory!==yes (
    FOR %%i IN (!original_path_quoted!) DO IF EXIST %%~si\NUL (
        IF "!type!"=="1" ( 
          mklink /J "!target_dir!\!prefix!!original_basename!" !original_path_quoted!
        ) ELSE ( 
          mklink /D "!target_dir!\!prefix!!original_basename!" !original_path_quoted!
        )
    )
)

:: if file
if !isDirectory!==no (
    FOR %%i IN (!original_path_quoted!) DO IF NOT EXIST %%~si\NUL (
        IF "!type!"=="1" ( 
          mklink /H "!target_dir!\!prefix!!original_basenameWithExt!" !original_path_quoted!
        ) ELSE ( 
          mklink "!target_dir!\!prefix!!original_basenameWithExt!" !original_path_quoted!
        )
    )
)


)
:: FOR loop


:: mshta "javascript:alert('error: creating Hard-Symlink for different drives has failed');close();"
mshta "javascript:alert('Finished');close();"
endlocal
 0
Author: T.Todua,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2021-01-13 09:25:11