„Lass uns in Kontakt bleiben“: Ordner außerhalb von OneDrive synchronisieren
Seit einigen Jahren nutzen wir bei der ORDIX AG vermehrt die Produkte aus dem Microsoft 365 Abonnement (vormals Office 365). Hierzu zählt u.a. auch OneDrive for Business. Mittels OneDrive können meine Daten online in der Cloud abgelegt und gesichert werden. Ein weiterer Vorteil ist, dass ich über mehrere Geräte auf die Dateien in der Cloud zugreifen kann.
Letzte Woche wollte ich einen Ordner, welcher sich auf einem anderen Laufwerk befindet, in mein OneDrive synchronisieren. Leider musste ich feststellen, dass ich mit den Konfigurationen aus OneDrive heraus nicht zum Ziel kommen würden. (Abbildung 1)
Von Hause aus ist es nämlich nur möglich, die OneDrive-Struktur für die Synchronisation zu verwenden und so müssen Ordner oder Dateien von anderen Laufwerken, wie zum Beispiel eine zweite Festplatte, USB-Sticks oder externen Festplatten, in den OneDrive-Ordner verschoben werden.
Zunächst habe ich gedacht, dass eine simple Verknüpfung das Problem schnell beseitigen würde. Nachdem ich die Verknüpfung in meinem OneDrive-Ordner erstellt hatte (Abbildung 2), überprüfte ich den Ordner in meinem Browser. Hier ist zu sehen, dass eine Datei mit der Endung .lnk vorhanden ist (Abbildung 3). Ein Klick auf diese Datei führt aber leider nicht zum gewünschten Ergebnis (Abbildung 4).
Die Lösung fand ich mit dem Kommandozeilen-Tool mklink. Details sind auf der offiziellen Seite von Microsoft zu finden: https://docs.microsoft.com/de-de/windows-server/administration/windows-commands/mklink
Im ersten Schritt muss zum einen der Pfad des Quellordners (z.B. externe Festplatte) und zum anderen der OneDrive Ordner ausfindig gemacht werden. In diesem Beispiel möchte ich den Ordner D:\Demo_Ordner in OneDrive synchronisieren. Am besten sichert man sich den Pfad in eine Editor-Datei, da gleich ein weiterer Pfad (OneDrive-Ordner) in die Zwischenablage geholt werden muss.
Der OneDrive-Ordner ist in der Regel unter C:\Users\<username>\OneDrive zu finden. Alternativ kann dieser über das OneDrive-Symbol in der Taskleiste und Klick auf „Ordner öffnen" ausgelesen werden. In meinen Fall handelt es sich um den nachfolgenden Ordner: C:\Users\sbh\OneDrive - ORDIX AG
Im letzten Schritt muss der mklink-Befehl erstellt und über die Kommandozeile (cmd) ausgeführt werden.
Wichtige Hinweise:
Die Kommando-Zeile muss als Administrator gestartet werden. Der Zielordner in OneDrive darf noch nicht vorhanden sein, da sonst die folgende Meldung zu sehen ist.
Für dieses Beispiel sieht der Befehl wie folgt aus:
mklink /d "C:\Users\sbh\OneDrive - ORDIX AG\Demo_Synch" D:\Demo_Ordner
Anschließend wurde eine simple Textdatei unter D:\Demo_Ordner erstellt und überprüft, ob diese auch über den Browser erreichbar ist (Abbildung 6).
Kurze Erläuterung zum mklink-Befehl:
Syntax | Erleuterung |
mklink | Programmaufruf |
/d | Erstellt einen symbolischen Verzeichnis-Link. Standardmäßig erstellt dieser Befehl einen symbolischen Datei-Link. |
"C:\Users\sbh\OneDrive - ORDIX AG\Demo_Synch" | Ziel-Ordner (in OneDrive) |
D:\Demo_Ordner | Quell-Ordner (hier andere Festplatte) |
Fazit
Mittels eines sehr simplen Befehls lassen sich beliebige Ordner mit OneDrive synchronisieren, die nicht innerhalb der OneDrive Struktur physisch abgelegt sind. Meiner Meinung nach ist das eine sehr gute Möglichkeit, wenn man nicht seine über Jahre gewachsene Ordnerstruktur in den OneDrive-Ordner physisch verschieben möchte.
Senior Chief Consultant bei ORDIX
Bei Updates im Blog, informieren wir per E-Mail.
Kommentare 3
Es gibt auch eine Umgebungsvariariable: C:\> echo %OneDrive%
Müsste man den Pfad zum Onedrive-Ordner nicht im Klient oder - falls das UI das nicht hergibt - inder Registry ändern? Ich denke, der Klient setzt die Umgebungsvariable, genauso wie das BS andere Umgebungsvariaben wie %USERNAME% oder %USERPROFILE% setzt. Die kann man zwar jederzeit in einer Anwendungsumgebung benutzten und auch überschrieben, gilt aber immer nur innerhalb dieser Anwwendung, z.B. CMD.exe
Vielen Dank für die Kommentare. In meinem zweiten Artikel zu dem Thema habe ich beschrieben, wie man das Thema mittels Powershell löst:
https://blog.ordix.de/one-drive-sync-via-powershell
Hier sieht man auch die entsprechenden Umgebungsvariablen:
PS C:\Windows\system32> $env:OneDriveCommercial
C:\Users\sbh\OneDrive - ORDIX AG