Zitat von
himitsu:
Nja, man kann bestmmt auch die Verzeichnisse eines anderen Volumes als Softlink in einem anderem Volume einbinden, aber ob das dann so handlich ist, da ja jedes einzelne Verzeichnis einzeln verlnk werden müßte.
Ach komm, das ist doch nicht dein Ernst, wir sind Programmierer, wir können das automatisieren
[...]
Geht mit Windows-Batch-Skripten sicherlich genauso einfach, habe nur gerade die Syntax nicht im Kopf (seit Jahren nicht mehr benutzt).
Kann man machen. Aber man kann sich den Aufwand auch sparen und direkt das Laufwerk verlinken. So hab ich das auf meinem Server, der 2 unterschiedlich große Platten hat, auch erledigt.
Der Witz ist ja, dass Windows zwar ab Win2k Junctions unterstützt (bzw. das darunterliegende NTFS 3.x), aber erst seit Vista ein Tool (für die Kommandozeile) dabei ist, mit dem man solche erstellen kann; bis einschließlich XP muss man sich junction.exe oder linkd.exe aus den Resource Kit Tools holen. Und im Datei"manager" (eher Dateibrowser) namens Explorer sieht man bis heute nicht immer bei allen Verzeichnissen, ob sie verlinkt sind (bei vernünftigen Dateimanagern schon) und Dateien kann man nur hard linken. Also, alles nicht so einfach (aber das isses bei Linux auch nicht immer
).
Anyway, die Schleife für Batch kann z.B. so aussehen:
Code:
@echo off
set vol=C D E
set target=C:
REM # Volumes durchwandern
for %%i IN (%vol%) DO (
REM # Verzeichnisse durchwandern (Dateien brauchen andere Parameter zum Verlinken)
for /F "delims=" %%f IN ('dir /b /ad %%i:\*.*') DO (
REM # Symlinks erstellen
echo Link "%%i:\%%f" to "%target%\%%f"
REM mklink.exe /J "%target%\%%f" "%%i:\%%f"
)
)
Die Variablen vol und target sind dann entsprechend anzupassen. Code ungetestet und erst ab Vista. Wenn die Ausgabe passt, denn das REM vor dem mklink entfernen.
MfG Dalai