In Windows, wie Ordner als Laufwerk bereitgestellt werden

32

Ich habe einen Ordner, sagen wir C: \ foo, den ich als Laufwerk M: \ mounten möchte.

Unter Linux würde ich das mit einem Bind Mount machen.

Ian Kelling
quelle

Antworten:

50

Sie können den Befehl subst in Windows verwenden.

subst m: c:\foo

Um eine dauerhafte Umleitung durchzuführen, können Sie die Registrierung bearbeiten. Fügen Sie einen Zeichenfolgenwert (REG_SZ) hinzu, um:

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices

Setzen Sie den Namen des Werts auf den Laufwerksbuchstaben (z. B. M:) und die Daten auf:

\??\C:\foo\foosub

Diese Methode funktioniert bei Anmeldungen und Neustarts. Ich habe dies unter Windows 2008 getestet, daher sollte es auch unter Vista, XP, 2003 und 2000 funktionieren.

Doug Luxem
quelle
1
Ah, +1. Ich habe den subst-Befehl vergessen und ihn seit über 10 Jahren nicht mehr verwendet! Ich glaube nicht, dass es hartnäckig ist? Vielleicht irre ich mich, es ist schon eine Weile her ...
squillman
Wenn Sie es dann in ein Anmelde- oder Startskript einfügen, bleibt es dauerhaft erhalten. Sie können dies in der lokalen Gruppenrichtlinie tun, ohne zur Domänenebene wechseln zu müssen.
Maximus Minimus
1
Hey, das ist schön! Ich wusste nicht, +1, ich werde es verwenden ..
Greg Meehan
Das ist der richtige Weg - leider gibt es mehrere Fälle, in denen ein subst'ed-Laufwerk nicht richtig erkannt wird. Seien Sie nicht überrascht, wenn Sie manchmal seltsame Fehlermeldungen von Windows erhalten, wenn Sie Dinge mit Ihrem Subst-Laufwerk tun .....
marc_s
2
Ich habe eine weitere Methode hinzugefügt, die persistent ist.
Doug Luxem
7

Subst funktioniert auch unter Vista:

C:\Users\juan>subst /?
Associates a path with a drive letter.

SUBST [drive1: [drive2:]path]
SUBST drive1: /D

  drive1:        Specifies a virtual drive to which you want to assign a path.
  [drive2:]path  Specifies a physical drive and path you want to assign to
                 a virtual drive.
  /D             Deletes a substituted (virtual) drive.

Type SUBST with no parameters to display a list of current virtual drives

.

user9250
quelle
5
  • Klicken Sie mit der rechten Maustaste auf den Ordner und wählen Sie Freigabe und Sicherheit
  • Wählen Sie Diesen Ordner freigeben
  • Gib ihm einen Freigabenamen (zB- myshare)
  • drücke Ok

Ordnen Sie ein Laufwerk (M :) \\ Ihrem Computernamen \ myshare zu

Squillman
quelle
4

Von der Kommandozeile:

subst M: C:\foo

Dies funktioniert unter Windows XP und wurde in anderen Versionen noch nicht getestet.

goldPseudo
quelle
von der schnellsten Waffe geschlagen
Ian Kelling
ja. hätte den befehl nicht zuerst testen sollen: p
goldPseudo
3

Subst ist die richtige Antwort. Sie sollten sich bewusst sein, dass subst eine Einstellung pro Sitzung ist. Wenn Sie sich abmelden und Runas verwenden, um einen sekundären Anmeldekontext zu erstellen, ist Ihr Ersatzlaufwerk für diese Apps nicht mehr verfügbar.

Sie können eine Verknüpfung (.lnk) in Ihrer Startgruppe erstellen, um diese Subst-Laufwerke neu zu erstellen. Die target -Eigenschaft von .lnk muss ungefähr so ​​aussehen:

C: \ Windows \ System32 \ cmd.exe / c-Subst. S: C: \ Some \ Extrem \ Obscure \ Path \ Of \ My \ Own \ src

Wir verwenden diese Technik, um sicherzustellen, dass alle Entwickler Debug-Symbole mit dem gleichen Pfad von S: \ erstellen.

Es gibt auch ein visuelles Subst- Applet.

Brian Reiter
quelle
2

Sie können dies auch in PowerShell tun. Ich verwende Folgendes, um ein Laufwerk in meinen Suvbversion-Arbeitsordner zu legen:

new-psDrive -name SVN -psprovider FileSystem -root 'c:\documents and settings\xxxx\my documents\subversion\adminscripts\trunk'

Sie können dann wie folgt darauf zugreifen:

cd svn:
Ryan Fisher
quelle
2
Beachten Sie, dass die PowerShell-Methode das "Laufwerk" nicht außerhalb von PowerShell verfügbar macht, sodass kein Explorer-Zugriff möglich ist. Sie können dies mit COM-Objekten tun, aber an diesem Punkt rufen Sie trotzdem SUBST auf.
Ryan Fisher
2

Ein anderer Weg, dies zu tun, der vielleicht ein bisschen besser ist, wenn es beim Start gemountet wird, ist die Verwendung des Tricks unter http://windows.microsoft.com/en-us/windows7/Create-a-shortcut-to-map -a-Netzwerklaufwerk (dh Arbeitsplatz -> Extras -> Netzwerklaufwerk zuordnen) und nutzen Sie die Tatsache, dass Ihr lokaler Computer ein Netzwerkhost ist. Ich habe gerade zum Beispiel montiert,

\ localhost \ Users \ me \ Documents \ Meine Dropbox \ Portable Music

zu M: auf diese Weise. Sie können möglicherweise \ localhost \ C $ \ verwenden, um auf alles zuzugreifen, aber ich hatte hier einige Probleme (obwohl es für mich anderswo funktioniert hat).

-Robin

rlpowell
quelle
1

Wenn Sie etwas benötigen, das sitzungsübergreifend ist, können Sie sowohl ein iSCSI-Ziel als auch einen iSCSI-Client auf derselben Box ausführen. Dies hängt natürlich von Ihrem Betriebssystem ab, ob Sie etwas von Drittanbietern benötigen, um dies zu erreichen.

Joel Mansford
quelle
0

Verwenden Sie Subst. Schreiben Sie dies in eine .bat-Datei

@echo off
subst [DRIVE LETTER]: C:\[FOLDER]

Speichern Sie anschließend die Batch-Datei im Startordner des Startmenüs. Wenn Sie Windows 8 verwenden, können Sie den Startordner finden, indem Sie Win + R drücken und dann eingeben%appdata%\Microsoft\Windows\Start Menu\Programs\Startup

Verknüpfung
quelle