Di windows, cara memasang folder sebagai drive

32

Saya memiliki beberapa folder, katakanlah C: \ foo Saya ingin me-mount sebagai drive M: \

Di linux saya akan melakukan ini dengan bind mount.

Ian Kelling
sumber

Jawaban:

50

Anda dapat menggunakan perintah subst pada Windows.

subst m: c:\foo

Untuk membuat pengalihan terus-menerus, Anda dapat mengedit registri. Tambahkan nilai string (REG_SZ) ke:

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

Tetapkan nama nilai ke huruf drive (mis. M :) , lalu data menjadi:

\??\C:\foo\foosub

Metode ini akan berfungsi di seluruh login dan reboot. Saya menguji ini pada Windows 2008, jadi itu juga harus bekerja pada Vista, XP, 2003 dan 2000.

Doug Luxem
sumber
1
Ah, +1. Lupa tentang perintah subst, belum menggunakannya dalam 10+ tahun! Saya pikir itu tidak gigih? Mungkin aku salah, sudah lama ...
squillman
Masukkan ke dalam skrip logon atau startup, dan itu akan bertahan lama. Anda dapat melakukan ini dalam kebijakan grup lokal tidak perlu pergi ke level domain.
Maximus Minimus
1
Hei, itu bagus! Saya tidak tahu tentang itu, +1, saya akan menggunakannya ..
Greg Meehan
itulah cara untuk pergi - sayangnya, ada beberapa kasus di mana drive yang subst'ed tidak dikenali dengan benar. Jangan kaget jika Anda mendapatkan pesan kesalahan aneh dari Windows pada saat itu, ketika Anda melakukan hal-hal dengan drive subst ..... Anda
marc_s
2
Saya menambahkan metode lain yang persisten.
Doug Luxem
7

Subst juga berfungsi di 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

.

pengguna9250
sumber
5
  • Klik kanan pada folder dan pilih Sharing and Security
  • Pilih Bagikan folder ini
  • Berikan nama berbagi (mis. Myshare)
  • tekan Ok

Petakan drive (M :) ke \\ yourcomputername \ myshare

squillman
sumber
4

Dari baris perintah:

subst M: C:\foo

Ini berfungsi di Windows XP, belum mengujinya di versi lain.

goldpseudo
sumber
dikalahkan oleh pistol tercepat
Ian Kelling
ya. Seharusnya tidak menguji perintah terlebih dahulu: p
goldPseudo
3

Subst adalah jawaban yang benar. Anda harus menyadari bahwa subt adalah pengaturan per sesi. Itu hilang ketika Anda logout dan jika Anda menggunakan runas untuk membuat konteks logon sekunder, drive Anda tidak akan ada untuk aplikasi tersebut.

Anda dapat membuat pintasan (.lnk) di grup startup Anda untuk membuat kembali drive subst tersebut. Properti target .lnk harus seperti ini:

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

Kami menggunakan teknik ini untuk memastikan bahwa semua pengembang membangun simbol debug dengan jalur yang sama dari S: \

Ada juga applet subst visual di luar sana.

Brian Reiter
sumber
2

Anda dapat melakukan ini di PowerShell juga. Saya menggunakan yang berikut ini untuk mengatur drive ke folder kerja Suvbversion saya:

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

Anda kemudian dapat mengaksesnya sebagai:

cd svn:
Ryan Fisher
sumber
2
Harap dicatat bahwa metode PowerShell tidak membuat "drive" tersedia di luar PowerShell, jadi tidak ada akses Explorer. Anda dapat melakukannya dengan objek COM, tetapi tetap saja panggil SUBST.
Ryan Fisher
2

Cara lain untuk melakukan ini, yang mungkin bermain sedikit lebih baik dengan dipasang pada awal, adalah dengan menggunakan trik di http://windows.microsoft.com/en-us/windows7/Create-a-shortcut-to-map -a-network-drive (mis. My Computer -> Tools -> Map Network Drive) dan manfaatkan fakta bahwa mesin lokal Anda adalah host jaringan; Saya baru saja mount, misalnya,

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

ke M: lewat sini. Anda mungkin dapat menggunakan \ localhost \ C $ \ untuk mengakses semuanya, tapi saya punya masalah dengan itu di sini (meskipun itu bekerja untuk saya di tempat lain).

-Robin

terima kasih
sumber
1

Jika Anda membutuhkan sesuatu yang bersifat lintas-sesi, Anda bisa melihat menjalankan target iSCSI dan klien iSCSI di kotak yang sama. Jelas ini tergantung pada OS Anda, apakah Anda memerlukan sesuatu pihak ketiga untuk mencapainya.

Joel Mansford
sumber
0

gunakan Subst Stick ini ke file .bat

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

Kemudian simpan file batch ke folder startup di menu mulai. Jika Anda berada di windows 8, Anda dapat menemukan folder startup dengan menekan Win + R kemudian mengetik%appdata%\Microsoft\Windows\Start Menu\Programs\Startup

Link
sumber