W systemie Windows, jak zamontować folder jako dysk

32

Mam jakiś folder, powiedz C: \ foo Chcę zamontować jako dysk M: \

W Linuksie zrobiłbym to z mocowaniem bind.

Ian Kelling
źródło

Odpowiedzi:

50

Możesz użyć polecenia subst w Windows.

subst m: c:\foo

Aby wykonać trwałe przekierowanie, możesz edytować rejestr. Dodaj wartość ciągu (REG_SZ) do:

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

Ustaw nazwę wartości na literę dysku (np. M:) , a następnie dane na:

\??\C:\foo\foosub

Ta metoda będzie działać na wszystkich loginach i restartach. Przetestowałem to w systemie Windows 2008, więc powinno działać również w systemach Vista, XP, 2003 i 2000.

Doug Luxem
źródło
1
Ach, +1. Zapomniałem o poleceniu subst, nie korzystałem z niego przez ponad 10 lat! Nie sądzę, żeby to było trwałe? Może się mylę, minęło trochę czasu ...
squillman
Następnie włóż go do skryptu logowania lub skryptu startowego, a na szczęście będzie trwały. Możesz to zrobić w lokalnych zasadach grupy, bez potrzeby przechodzenia na poziom domeny.
Maximus Minimus
1
Hej, to miło! Nie wiedziałem o tym, +1, użyję go ..
Greg Meehan
taka jest droga - niestety istnieje kilka przypadków, w których napęd zastępczy nie jest prawidłowo rozpoznawany. Nie zdziw się, jeśli czasami
pojawią
2
Dodałem inną metodę, która jest trwała.
Doug Luxem
7

Subst działa również w systemie 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

.

użytkownik9250
źródło
5
  • Kliknij folder prawym przyciskiem myszy i wybierz Udostępnianie i zabezpieczenia
  • Wybierz Udostępnij ten folder
  • Nadaj mu nazwę udziału (np. Myshare)
  • naciśnij Ok

Zamapuj dysk (M :) na \\ nazwa_komputera \ myshare

squillman
źródło
4

Z wiersza poleceń:

subst M: C:\foo

Działa to w systemie Windows XP, nie testowałem go w innych wersjach.

goldPseudo
źródło
pokonany przez najszybszy pistolet
Ian Kelling
tak. nie powinienem najpierw przetestować polecenia: p
goldPseudo
3

Subst jest poprawną odpowiedzią. Należy pamiętać, że podstawienie jest ustawieniem na sesję. Znika po wylogowaniu, a jeśli używasz run do utworzenia drugiego kontekstu logowania, twój napęd zastępczy nie będzie tam dla tych aplikacji.

Możesz utworzyć skrót (.lnk) w grupie startowej, aby ponownie utworzyć te dyski zastępcze. Właściwość target .lnk musi wyglądać mniej więcej tak:

C: \ Windows \ System32 \ cmd.exe / c subst S: C: \ Some \ Extremely \ Obscure \ Path \ Of \ My \ Own \ src

Używamy tej techniki, aby zapewnić, że wszyscy programiści budują symbole debugowania z tą samą ścieżką od S: \

Istnieje również wizualny aplet zastępczy .

Brian Reiter
źródło
2

Możesz to zrobić również w PowerShell. Używam następujących opcji, aby ustawić dysk w moim folderze roboczym Suvbversion:

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

Następnie możesz uzyskać do niego dostęp jako:

cd svn:
Ryan Fisher
źródło
2
Należy pamiętać, że metoda PowerShell nie udostępnia „dysku” poza programem PowerShell, więc nie ma dostępu do Eksploratora. Możesz to zrobić z obiektami COM, ale w tym momencie po prostu wywołaj SUBST.
Ryan Fisher
2

Innym sposobem na zrobienie tego, być może grającym nieco lepiej po zamontowaniu go na starcie, jest skorzystanie ze sztuczki dostępnej pod adresem http://windows.microsoft.com/en-us/windows7/Create-a-shortcut-to-map -a-dysk sieciowy (tj. Mój komputer -> Narzędzia -> Mapuj dysk sieciowy) i skorzystaj z faktu, że komputer lokalny jest hostem sieciowym; Właśnie zamontowałem na przykład

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

do M: w ten sposób. Możesz użyć \ localhost \ C $ \, aby uzyskać dostęp do wszystkiego, ale miałem z tym trochę problemów (chociaż działało to dla mnie gdzie indziej).

-Rudzik

rlpowell
źródło
1

Jeśli potrzebujesz czegoś, co jest między sesjami, możesz spojrzeć na uruchomienie zarówno celu iSCSI, jak i klienta iSCSI na tym samym urządzeniu. Oczywiście zależy to od twojego systemu operacyjnego, czy potrzebujesz czegoś innego, aby to osiągnąć.

Joel Mansford
źródło
0

użyj Subst Przyklej to do pliku .bat

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

Następnie zapisz plik wsadowy w folderze startowym w menu Start. Jeśli korzystasz z systemu Windows 8, możesz znaleźć folder startowy, naciskając Win + R, a następnie pisząc%appdata%\Microsoft\Windows\Start Menu\Programs\Startup

Połączyć
źródło