2011-02-11 15:29:57 +0000 2011-02-11 15:29:57 +0000
89
89

Copier le chemin réseau UNC (pas la lettre du lecteur) pour les chemins sur les lecteurs cartographiés à partir de l'explorateur Windows

Je souhaite fréquemment partager les chemins réseau Windows des fichiers avec d'autres personnes de mon équipe par e-mail ou par chat. Nous avons beaucoup de lecteurs mappés ici, aussi bien ceux que nous installons nous-mêmes que ceux installés par nos responsables informatiques. Ce que j'aimerais pouvoir faire, c'est copier le chemin d'accès réel complet (et non la lettre du lecteur) de l'explorateur Windows pour l'envoyer aux gens.

Exemple : J'ai un fichier dans mon lecteur “Q :”, \cartman\users\emueller, et je veux envoyer un lien vers le fichier foo.doc qui s'y trouve à mes collègues. Lorsque je copie le chemin du fichier (shift+clic droit, “copier comme chemin”), il obtient le nom de fichier “Q:\foo.doc” dans le presse-papiers. Cela n'aide pas les autres, qui auraient besoin de voir \cartman\users\emueller\foo.doc pour pouvoir consommer le lien.

Dans Explorer, il connaît clairement le chemin complet - dans la barre d'adresse, je vois “Computer -> emueller (\cartman\users) (Q :) ->”. Je sais que je pourrais simplement configurer des emplacements réseau mappés au lieu des lecteurs mappés pour ceux que j'ai personnellement configurés et éviter ce problème, mais la plupart des lecteurs mappés, comme le partage des “utilisateurs”, proviennent de notre politique informatique d'entreprise et ne peuvent pas être modifiés. Je pourrais simplement créer un emplacement réseau séparé et ignorer mon lecteur Q : mais ce n'est pas pratique (et ils le font pour pouvoir déplacer les comptes d'un serveur à l'autre). Il est certain que le chemin de mon courrier électronique pourrait éventuellement se rompre parce que je perds la lettre de lecteur de manière indirecte, mais cela ne me dérange pas.

Réponses (17)

49
49
49
2012-04-19 17:19:19 +0000

Peut-être un long chemin, mais ouvrez une fenêtre de cmd. Ensuite, faites net use > filename

Puis ouvrez le nom du fichier et vous pouvez obtenir le chemin d'accès : Ex :

C:\Users\me\net use > drives.txt

Ouverture drives.txt

New connections will be remembered.
Status Local Remote Network
-------------------------------------------------------------------------------
             H: \server\c\proj\net Microsoft Windows Network

Peut copier \server\c\prog\net du fichier pour votre usage.

Espérons que cela vous aidera.

47
47
47
2012-08-24 23:20:11 +0000

J'ai eu exactement le même problème - tout le monde n'avait pas les mêmes lecteurs mappés que moi, ou mappés avec les mêmes lettres.

Après de nombreuses recherches, j'ai trouvé une extension de menu contextuel nommée Path Copy Copy sur GitHub https://pathcopycopy.github.io/ ) qui est une version étendue d'une ancienne extension similaire (appelée Pathcopy) qui a un certain nombre d'options pour copier les chemins sous forme de texte, y compris une pour les chemins UNC - des exemples des options disponibles sont présentés ci-dessous : Vous pouvez également choisir de n'afficher qu'une ou deux lignes dans le menu contextuel de base, par exemple vous pouvez avoir deux lignes, Copier le long chemin, et Copier le long chemin UNC. C'est idéal pour envoyer des courriels aux utilisateurs de votre entreprise qui ont accès à un chemin de réseau, et s'ils ont la même cartographie de réseau que vous, vous pouvez choisir la première, sinon vous pouvez utiliser la seconde.

Mise à jour : A partir de la version 12.0, un nouvel installateur “portable” est disponible sur le site ci-dessus, qui s'installe uniquement pour l'utilisateur actuel dans le dossier AppData\Local. Je n'ai pas essayé, mais cela pourrait être une solution pour ceux qui n'ont pas le droit d'installer normalement.

39
39
39
2012-07-26 21:41:45 +0000

UPDATE: L'approche de CoolCol est encore plus facile que la mienne. Voici le contournement que j'utilise lorsque j'envoie des chemins de réseau cartographiés via Outlook :

  1. dans l'explorateur Windows, maintenez la touche shift enfoncée, r-cliquez sur le fichier et sélectionnez “Copy as path”.
  2. Insérez un hyperlien dans l'e-mail et collez le dans le champ d'adresse de la boîte de dialogue Hyperlien. (Raccourci : ctrl-K ctrl-V + OK). À ce stade, le lien affichera la lettre de lecteur mapped comme racine (Q:\foo.doc).
  3. Maintenant, r-cliquez et sélectionnez “ Edit Hyperlink…”, vous remarquerez que le champ Adresse a été reconduit dans le chemin UNC complet (\cartman\users\emueller\foo.doc). Avec votre souris dans le champ Adresse, appuyez sur ctrl-A et ctrl-C pour copier le chemin complet dans votre presse-papiers, puis déplacez votre curseur vers le champ supérieur (“Texte à afficher :”) appuyez sur ctrl-A et ctrl-V pour l'afficher correctement dans votre courriel.
32
32
32
2015-06-01 08:49:58 +0000

Geoff était fondamentalement sur la bonne voie, mais pour aller plus loin,

  1. Faites glisser le dossier depuis l'explorateur Windows dans le corps de votre nouveau courriel,
  2. puis sélectionnez “Créer un lien hypertexte ici ”.
20
20
20
2012-08-24 20:23:12 +0000

J'ai juste eu besoin de la même chose que ce qu'OP demande et après avoir cherché sur Google et lu les réponses, aucun d'entre eux n'a fourni ce que je pense que l'OP et moi recherchons.

Le problème ici est que l'on peut faire correspondre un partage de réseau à Drive Y alors que quelqu'un d'autre dans l'organisation peut faire correspondre le même partage de réseau à Drive X ; donc, envoyer un lien tel que Y:\mydirectory peut ne fonctionner pour personne d'autre que moi.

Comme l'explique le PO, Explorer affiche le chemin réel dans la barre d'exploration, mais vous ne pouvez pas le copier (la frappe est fastidieuse et sujette à des erreurs, ce n'est donc pas une option) même si vous choisissez copy as path dans le menu contextuel :

Donc la solution que j'ai trouvée (en copiant le code de quelqu'un d'autre) est un petit programme C# que vous pouvez appeler depuis un menu contextuel dans Explorer et qui vous permettra de traduire la lettre de lecteur mappée en UNC path réel. Voici le code :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Utils
{
    //This is the only piece of code I wrote
    class Program
    {
        [STAThread]
        static void Main(string[] args)
        {
            //Takes the parameter from the command line. Since this will
            //be called from the context menu, the context menu will pass it 
            //via %1 (see registry instructions below)
            if (args.Length == 1)
            {               
                Clipboard.SetText(Pathing.GetUNCPath(args[0]));
            }
            else
            {   
               //This is so you can assign a shortcut to the program and be able to
               //Call it pressing the shortcut you assign. The program will take
               //whatever string is in the Clipboard and convert it to the UNC path
               //For example, you can do "Copy as Path" and then press the shortcut you  
               //assigned to this program. You can then press ctrl-v and it will
               //contain the UNC path
                Clipboard.SetText(Pathing.GetUNCPath(Clipboard.GetText()));           
            }
        }
    }
}

Et voici la définition de la classe Pathing (je vais essayer de trouver la source actuelle car je ne me souviens pas où je l'ai trouvée) :

public static class Pathing
{
    [DllImport("mpr.dll", CharSet = CharSet.Unicode, SetLastError = true)]
    public static extern int WNetGetConnection(
        [MarshalAs(UnmanagedType.LPTStr)] string localName,
        [MarshalAs(UnmanagedType.LPTStr)] StringBuilder remoteName,
        ref int length);
    /// <summary>
    /// Given a path, returns the UNC path or the original. (No exceptions
    /// are raised by this function directly). For example, "P:008-02-29"
    /// might return: "\networkserver\Shares\Photos008-02-09"
    /// </summary>
    /// <param name="originalPath">The path to convert to a UNC Path</param>
    /// <returns>A UNC path. If a network drive letter is specified, the
    /// drive letter is converted to a UNC or network path. If the 
    /// originalPath cannot be converted, it is returned unchanged.</returns>
    public static string GetUNCPath(string originalPath)
    {
        StringBuilder sb = new StringBuilder(512);
        int size = sb.Capacity;

        // look for the {LETTER}: combination ...
        if (originalPath.Length > 2 && originalPath[1] == ':')
        {
            // don't use char.IsLetter here - as that can be misleading
            // the only valid drive letters are a-z && A-Z.
            char c = originalPath[0];
            if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
            {
                int error = WNetGetConnection(originalPath.Substring(0, 2),
                    sb, ref size);
                if (error == 0)
                {
                    DirectoryInfo dir = new DirectoryInfo(originalPath);

                    string path = Path.GetFullPath(originalPath)
                        .Substring(Path.GetPathRoot(originalPath).Length);
                    return Path.Combine(sb.ToString().TrimEnd(), path);
                }
            }
        }

        return originalPath;
    }
}

Vous construisez le programme et mettez l'exécutable quelque part dans votre PC, disons par exemple dans c:\Utils

Maintenant vous ajoutez une option de menu contextuel dans Explorer comme suit :

Regedit et ensuite :

HKEY_CLASSES_ROOT\*\Directory\Shell

Right-click Shell --> New Key --> Name: "To UNC Path"
Right-click To UNC Path --> New Key --> Name: command
Right-click Default entry and select `Modify`
Value Data: c:\Utils\Utils.exe "%1"

Vous avez terminé. Vous verrez maintenant cette option lorsque vous ferez un clic droit sur un répertoire d'un lecteur mappé :

Note

Je peux fournir l'exécutable pour que vous n'ayez pas à faire la compilation vous-même. Il suffit de m'envoyer une note ici.

12
12
12
2013-10-16 12:16:39 +0000

Exécutez la commande cmd.exe :

C:\anywhere>net use
New connections will be remembered.
Status Local Remote Network
-------------------------------------------------------------------------------
OK E: \XXXXX-XXX-XXX.whatever.com\d$
                                                Microsoft Windows Network
OK G: \YYYYY-Y-YY01\SAN_INTERNAL\DEPARTMENT
                                                Microsoft Windows Network
OK H: \ZZZZ-Z-ZZ01\Users$\myself
                                                Microsoft Windows Network
OK \AAAAA-AAA-AAAA3\d$ Microsoft Windows Network

(Merci Jimbo, votre réponse était bonne mais pas brève !)

5
5
5
2011-02-17 12:04:02 +0000

Un certain Shawn Keene a fourni une solution à ce problème dans le forum Windows 7 sur le site web de Microsoft. Elle se trouve dans une fonctionnalité appelée Network Place.

  1. Ouvrez l'explorateur Windows.

  2. Cliquez avec le bouton droit de la souris sur l'entrée Ordinateur dans le volet de gauche et sélectionnez “Ajouter un emplacement réseau”. Cliquez sur Suivant.

  3. Sélectionnez l'option “Choisir un emplacement de réseau personnalisé” (c'est la seule qui m'a été présentée) et cliquez sur Suivant.

  4. Tapez le chemin d'accès UNC souhaité et cliquez deux fois sur Suivant. Cela ajoute une entrée qui apparaît dans le panneau gauche de l'explorateur Windows sous les lecteurs mappés, mais elle fonctionne comme un lecteur mappé et apparaît de cette façon dans la boîte de dialogue Enregistrer des applications.

  5. Dans l'explorateur Windows, naviguez à travers cette entrée jusqu'au sous-répertoire souhaité et cliquez dans la zone vide à droite de l'affichage du chemin des miettes de pain en haut de l'écran de l'explorateur Windows et le chemin UNC apparaît et est mis en évidence.

4
4
4
2014-11-13 15:35:34 +0000
  1. Ouvrez le dossier.
  2. Faites glisser à droite un fichier du dossier dans Microsoft Word.
3
3
3
2013-10-02 19:04:28 +0000

Maintenez la touche Maj enfoncée et cliquez sur le fichier avec le bouton droit de la souris, puis sélectionnez “Copier comme chemin d'accès”. Insérez un hyperlien dans l'e-mail et collez le dans le champ d'adresse de la boîte de dialogue Hyperlien.

Après avoir créé l'hyperlien dans l'e-mail, vous avez terminé.

Le lien affichera la lettre du lecteur mappé ; ceci est vrai. Lorsque le(s) destinataire(s) clique(nt) sur le lien dans l'e-mail, il suit le chemin UNC, que l'utilisateur soit mappé ou non.

J'ai essayé cela dans d'autres applications d'Office 2010, Excel, Power Point et Word.

2
2
2
2012-09-28 13:42:54 +0000

Vous pouvez également cliquer avec le bouton droit de la souris sur le nom du répertoire dans la vue du répertoire de l'ordinateur et sélectionner “Renommer”. Cela vous permettra de copier le chemin d'accès.

1
1
1
2013-10-16 13:33:07 +0000

Enregistrez ceci dans votre dossier sendto, le mien est dans C:\Documents and Settings\xxxxID\SendTo avec un nom comme Copy UNC Filepath.vbs (doit se terminer par .vbs). Maintenant, lorsque vous faites un clic droit sur un dossier ou un fichier, il copiera l'UNC dans le presse-papiers. Notre dossier personnel est le lecteur F et il ne convertit donc ni C : ni F :

'send UNC filepath to clipboard when selected file is input as Send To
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate("about:blank")

myPath=Wscript.Arguments(0)
drive = Left(myPath,2)

if drive = "C:" OR drive = "\" OR drive = "F:" then
    'leave unchanged
else
    Set oWSN = CreateObject("WScript.Network") 
    Set oDrives = oWSN.EnumNetworkDrives 
    For i = 0 to oDrives.Count - 1 Step 2 
        If oDrives.Item(i) = drive Then 
            sUNC = LCase(oDrives.Item(i+1)) 
            exit For
        end if
    Next 
    myPath=sUNC & Mid(myPath, 3)
end if

objIE.document.parentwindow.clipboardData.SetData "text",myPath
objIE.Quit
1
1
1
2016-02-03 19:51:46 +0000
  1. Dans la fenêtre de l'explorateur, cliquez avec le bouton droit de la souris sur le lecteur cartographié dans l'arborescence de fichiers à gauche.
  2. Sélectionnez Rename.
  3. Pendant que le texte est en surbrillance, faites un clic droit sur le lecteur.
  4. Le chemin d'accès est maintenant copié (avec du texte supplémentaire qui est facilement supprimé après avoir été copié à un nouvel emplacement.
0
0
0
2014-10-09 22:20:56 +0000

Créez un fichier DOS batch comme showmappeddrives.bat qui contient :

@echo off    
net use
pause

Placez le fichier sur votre bureau si vous le souhaitez. Double-cliquez dessus et il affichera tous vos lecteurs cartographiés.

0
0
0
2018-04-20 18:34:56 +0000

**Solution alternative simple :

Si vous supprimez la lettre “drive” du lecteur, ajoutez-la à nouveau en tant que “network location” (c'est-à-dire cliquez avec le bouton droit de la souris sur “Computer” dans la fenêtre de l'explorateur et sélectionnez “Add a network location”). En allant plus loin, le chemin complet s'affichera dans la barre d'adresse. Cependant, les applications qui dépendent du lecteur comme une lettre peuvent échouer.

En regardant les réponses ci-dessus, je ne pense pas avoir vu la solution simple que j'ai obtenue de : https://answers.microsoft.com/en-us/windows/forum/windows_7-files/how-can-i-display-the-full-unc-path-of-a-sub/ebfd4253-8016-4cbd-b0d6-1bbeae9189f9

0
0
0
2011-02-12 22:06:12 +0000

Dans les réseaux d'entreprise, la plupart des départements informatiques créent des partages en utilisant les espaces de noms de DFS. Dans DFS Shares, vous pouvez faire un clic droit sur un dossier et trouver sa cible.

L'autre méthode serait de voir si le partage est publié dans Active Directory. La façon la plus simple pour les autres utilisateurs de trouver des partages sans connaître le chemin UNC ou le nom / chemin du serveur de fichiers.

Si vous partagez des documents avec un grand nombre d'utilisateurs, quelque chose comme Microsoft SharePoint peut être une meilleure solution car il offre une interface web (avec WebDAV pour l'accès de style UNC) et propose des outils intégrés pour alerter les autres utilisateurs sur les documents.

Espérons que cela aidera.

0
0
0
2016-11-24 06:37:36 +0000

Faites un clic droit sur le dossier > Partager > “ partager à vous-même (ne signifie rien) . vous obtiendrez le chemin d'accès. / ou \ . ou cliquez sur afficher tout le réseau partagé.

-2
-2
-2
2015-02-21 09:33:45 +0000

La touche SHIFT + clic droit “Copier comme chemin” permet de copier le lecteur+nom de fichier (c'est-à-dire R:\test.doc), ou si vous regardez le fichier via UNCpath le chemin+nom de fichier (c'est-à-dire “\nas\Documents\test.doc”)

C'est le comportement “standard” de Windows, et donc mon préféré, surtout les plugins d'exploration qui ralentissent les systèmes…. ;)