Dans Windows, comment monter un dossier en tant que lecteur

32

J'ai un dossier, disons C: \ foo je veux monter en tant que lecteur M: \

Sous Linux, je le ferais avec une monture bind.

Ian Kelling
la source

Réponses:

50

Vous pouvez utiliser la commande subst dans Windows.

subst m: c:\foo

Pour effectuer une redirection persistante, vous pouvez modifier le registre. Ajoutez une valeur de chaîne (REG_SZ) à:

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

Définissez le nom de la valeur sur la lettre du lecteur (par exemple, M:) , puis les données sur:

\??\C:\foo\foosub

Cette méthode fonctionnera à travers les connexions et les redémarrages. J'ai testé cela sur Windows 2008, il devrait donc également fonctionner sur Vista, XP, 2003 et 2000.

Doug Luxem
la source
1
Ah, +1. Oublié la commande subst, je ne l'ai plus utilisé depuis plus de 10 ans! Je ne pense pas que c'est persistant cependant? Peut-être que je me trompe, ça fait un moment ...
squillman
Collez-le ensuite dans un script d'ouverture de session ou de démarrage, et il sera heureusement persistant. Vous pouvez faire cela dans la stratégie de groupe local sans avoir besoin d'aller au niveau du domaine.
Maximus Minimus
1
Hé, c'est gentil! Je ne savais pas à ce sujet, +1, je l'utiliserai ..
Greg Meehan
C’est la voie à suivre. Malheureusement, il existe plusieurs cas où un lecteur sous-alimenté n’est pas correctement reconnu. Ne soyez pas surpris si vous recevez parfois des messages d'erreur étranges de Windows, lorsque vous
manipulez
2
J'ai ajouté une autre méthode qui est persistante.
Doug Luxem
7

Subst fonctionne également sous 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

.

utilisateur9250
la source
5
  • Cliquez avec le bouton droit sur le dossier et sélectionnez Partage et sécurité.
  • Sélectionnez Partager ce dossier
  • Donnez-lui un nom de partage (par exemple, myshare)
  • cliquez sur Ok

Mappez un lecteur (M :) vers \\ votre nom_ordinateur \ myshare

écailleur
la source
4

A partir de la ligne de commande:

subst M: C:\foo

Cela fonctionne sous Windows XP, ne l’a pas testé dans d’autres versions.

goldPseudo
la source
battu par le canon le plus rapide
Ian Kelling
oui. n'aurait pas dû tester la commande d'abord: p
goldPseudo
3

Subst est la bonne réponse. Vous devez savoir que subst est un paramètre par session. Il disparaît lorsque vous vous déconnectez et si vous utilisez des runas pour créer un contexte d'ouverture de session secondaire, votre lecteur secondaire ne sera pas là pour ces applications.

Vous pouvez créer un raccourci (.lnk) dans votre groupe de démarrage pour recréer ces lecteurs secondaires. La propriété target du fichier .lnk doit ressembler à ceci:

C: \ Windows \ System32 \ cmd.exe / sous-station S: C: \ Certains \ Extrêmement \ Obscure \ Path \ Of \ My \ Own \ src

Nous utilisons cette technique pour nous assurer que tous les développeurs construisent des symboles de débogage avec le même chemin depuis S: \.

Il existe également un sous- applet visuel .

Brian Reiter
la source
2

Vous pouvez également le faire dans PowerShell. J'utilise ce qui suit pour définir un lecteur dans mon dossier de travail Suvbversion:

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

Vous pouvez alors y accéder en tant que:

cd svn:
Ryan Fisher
la source
2
Veuillez noter que la méthode PowerShell ne rend pas le "lecteur" disponible en dehors de PowerShell, donc pas d'accès Explorer. Vous pouvez le faire avec des objets COM, mais à ce stade, appelez simplement SUBST de toute façon.
Ryan Fisher
2

Une autre façon de faire, qui fonctionne peut-être un peu mieux avec son montage monté au début, consiste à utiliser l'astuce à l' adresse http://windows.microsoft.com/en-us/windows7/Create-a-shortcut-to-map - un lecteur réseau (par exemple, Poste de travail -> Outils -> Connecter un lecteur réseau) et tirez parti du fait que votre ordinateur local est un hôte réseau; Je viens de monter, par exemple,

\ localhost \ Users \ me \ Documents \ My Dropbox \ Musique portable

à M: de cette façon. Vous pourrez peut-être utiliser \ localhost \ C $ \ pour accéder à tout, mais j'ai eu quelques problèmes avec ça ici (même si cela a fonctionné pour moi ailleurs).

-Robin

rlpowell
la source
1

Si vous avez besoin de plusieurs sessions intersessions, vous pouvez envisager d’exécuter à la fois une cible iSCSI et un client iSCSI sur le même boîtier. Évidemment, cela dépend de votre système d'exploitation pour savoir si vous avez besoin de quelque chose de tiers pour l'atteindre.

Joel Mansford
la source
0

utiliser Subst Stick this dans un fichier .bat

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

Enregistrez ensuite le fichier de commandes dans le dossier de démarrage du menu Démarrer. Si vous utilisez Windows 8, vous pouvez trouver le dossier de démarrage en appuyant sur Win + R puis en tapant%appdata%\Microsoft\Windows\Start Menu\Programs\Startup

Lien
la source