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

Kopieer UNC-netwerkpad (niet schijfletter) voor paden op gemapte schijven vanuit Windows Verkenner

Ik wil vaak Windows netwerkpaden naar bestanden delen met andere mensen in mijn team via e-mail of chat. We hebben hier veel gemapte schijven, zowel die we zelf hebben opgezet als die door onze IT-overheersersers zijn opgezet. Wat ik graag wil kunnen doen is het volledige echte pad (niet de stationsletter) uit Windows Explorer kopiëren om naar de mensen te sturen.

Voorbeeld: Ik heb een bestand in mijn “Q:” drive, kartman gebruikersmueller, en ik wil een link naar de file foo.doc daarin sturen naar collega’s. Als ik het bestandspad kopieer (shift+rechtsklik, “kopieer als pad”) krijgt het de bestandsnaam “Q:foo.doc” in het klembord. Dit is niet handig voor anderen, die de link moeten zien.

In de Verkenner weet het duidelijk het volledige pad - in de adresbalk zie ik “Computer -> emueller (kartman gebruikers) (Q:) ->”. Is er een manier om te zeggen “hey man copy that path as text with the \cartmantmueller not the Q: in it”

I know I could just set up mapped network locations instead of the mapped drives for the ones that I set up personally and avoid this problem, but most of the mapped drives like the “users” share come from our corporate IT policy and can’t be overruled. Ik zou gewoon een aparte netwerklocatie kunnen maken en dan mijn Q: schijf negeren, maar dat is onhandig (en ze doen het zodat ze accounts kunnen verplaatsen over servers). Natuurlijk kan mijn gemailde pad uiteindelijk breken omdat ik de drive letter indirection verlies, maar dat is OK voor mij.

Antwoorden (17)

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

Misschien een heel eind, maar open een cmd-raam. Doe dan net use > filename

Open dan de bestandsnaam en je kunt het pad: Ex:

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

Openen drives.txt

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

Kan \server\c\prog\net uit het bestand kopiëren voor je gebruik.

Hoop dat dit helpt.

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

Ik had precies hetzelfde probleem – niet iedereen had dezelfde gemapte schijven als ik, of gemapte naar dezelfde letters.

Na veel zoeken vond ik een contextmenu extensie genaamd Path Copy Copy op GitHub https://pathcopycopy.github.io/ ) die een uitgebreide versie is van een vergelijkbare, oudere extensie (genaamd Pathcopy) heeft nogal wat opties voor het kopiëren van paden als tekst, inclusief een voor UNC-paden – voorbeeld van de beschikbare opties worden hieronder getoond:

Je kunt er ook voor kiezen om slechts één of twee regels in het basiscontextmenu te tonen, je kunt bijvoorbeeld twee regels hebben, Copy Long Path, en Copy Long UNC Path. Het is geweldig voor het e-mailen van gebruikers in uw bedrijf die toegang hebben tot een netwerkpad, en als ze dezelfde netwerkkaart hebben als u, kunt u de eerste kiezen, anders kunt u de tweede gebruiken.

Update : Vanaf versie 12.0 is er een nieuw “portable” installatieprogramma beschikbaar op de bovenstaande site, dat alleen voor de huidige gebruiker in de map AppData\Local wordt geïnstalleerd. Ik heb dit niet geprobeerd, maar het zou een oplossing kunnen zijn voor diegenen die niet normaal mogen installeren.

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

UPDATE: CoolCol’s aanpak is nog makkelijker dan de mijne. Upvote dat antwoord.

Hier is de workaround die ik gebruik bij het verzenden van toegewezen netwerkpaden via Outlook:

  1. Houd in Windows Verkenner de shift knop ingedrukt, r-klik op het bestand, en selecteer “ Kopiëren als pad”.
  2. 2. Plaats een Hyperlink in de e-mail en plak deze in het adresveld van het dialoogvenster Hyperlink. (Snelkoppeling: ctrl-K ctrl-V + OK). Op dit punt zal de link de mapped stationsletter weergeven als de root (Q:\foo.doc).
  3. 3. Nu, r-klik en selecteer “ Bewerk Hyperlink…” zult u merken dat het Adresveld terugvertaald is naar het volledige UNC-pad (\cartman\users\emueller\foo.doc). 4. Druk met uw muis in het Adresveld op ctrl-A en ctrl-C om het volledige pad naar uw klembord te kopiëren en beweeg uw cursor naar het bovenste veld (“Text to Display:”) druk op ctrl-A en ctrl-V om het correct weer te geven in uw e-mail.
32
32
32
2015-06-01 08:49:58 +0000

Geoff (https://superuser.com/a/839640/27017) was in principe goed op dreef, maar om nog een stap verder te gaan,

  1. 2. Selecteer vervolgens ‘Maak hier een hyperlink aan’.
20
20
20
2012-08-24 20:23:12 +0000

Ik had net de behoefte aan hetzelfde wat OP vraagt en na het zoeken op Google en het lezen van de antwoorden, geen van hen gaf wat ik denk dat de OP en ik zoeken.

Het probleem hier is dat men een netwerkdeel naar Drive Y in kaart kan brengen terwijl iemand anders in de organisatie hetzelfde netwerkdeel in kaart kan brengen als Drive X; daarom kan het sturen van een link zoals Y:\mydirectory voor niemand anders werken, behalve voor mij.

Zoals de OP uitlegt, toont Verkenner wel het eigenlijke pad in de Explorer-balk, maar je kunt het niet kopiëren (typen is vervelend en foutgevoelig, dus dit is geen optie), zelfs als je copy as path kiest uit het contextmenu:

Dus de oplossing die ik bedacht heb (door de code van iemand anders te kopiëren) was een klein C# programma dat je kunt aanroepen vanuit een contextmenu in Verkenner en waarmee je de Mapped drive letter kunt vertalen naar de eigenlijke UNC path.

Hier is de 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()));           
            }
        }
    }
}

En hier is de Pathing klasse definitie (ik zal proberen de eigenlijke bron te vinden omdat ik niet meer weet waar ik die gevonden heb):

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;
    }
}

Je bouwt het programma en zet het uitvoerbare bestand ergens in je PC, bijvoorbeeld in c:\Utils

Nu voeg je in de Verkenner een contextmenu-optie toe als volgt:

Regedit en dan:

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"

Je bent klaar. Nu zie je deze optie wanneer je met de rechtermuisknop klikt op een directory van een gemapt station:

Let op

Ik kan het uitvoerbare bestand aanleveren zodat je de compilatie niet zelf hoeft te doen. Laat me hier gewoon een notitie achter.

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

Voer het cmd.exe commando net use uit:

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

(Bedankt Jimbo, je antwoord was goed, maar niet kort!)

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

Iemand met de naam Shawn Keene leverde hiervoor een oplossing in het Windows 7-forum op de Microsoft-website. Het staat in een functie genaamd Network Place.

  1. Open Windows Verkenner.

  2. Klik met de rechtermuisknop op de invoer van de computer in het linkerdeelvenster en selecteer “Een netwerklocatie toevoegen”. Klik op volgend.

  3. Selecteer de optie “Kies een aangepaste netwerklocatie” (dit was de enige die mij werd gepresenteerd) en klik op Volgende.

  4. Typ het gewenste UNC-pad in en klik tweemaal op Volgende. Dit voegt een vermelding toe die in het linkerdeelvenster van Windows Verkenner onder de gemapte stations wordt weergegeven, maar het werkt net als een gemapte drive en wordt op die manier weergegeven in het venster Opslaan van applicaties.

  5. Navigeer in Windows Verkenner door die vermelding naar de gewenste subdirectory en klik in het lege gebied rechts van de weergave van het broodkruimelpad bovenin het scherm van Windows Verkenner en het UNC-pad verschijnt en wordt gemarkeerd.

4
4
4
2014-11-13 15:35:34 +0000
  1. 1. Open de map.
  2. 3. Sleep rechts een bestand uit de map naar Microsoft Word.
3
3
3
2013-10-02 19:04:28 +0000

Houd Shift ingedrukt en klik met de rechtermuisknop op het bestand en selecteer “Kopiëren als pad”. Plaats een Hyperlink in de e-mail en plak deze in het adresveld van het Hyperlink dialoogvenster.

Nadat je de hyperlink in de e-mail hebt gemaakt, ben je klaar.

De link zal de gemapte stationsletter laten zien dat dit waar is. Wanneer de ontvanger(s) op de link in de e-mail klikt, zal deze het UNC-pad volgen of de gebruiker wel of niet is gemapt.

Ik heb dit geprobeerd in andere Office 2010 applicaties, Excel, Power Point, en Word.

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

U kunt ook met de rechtermuisknop klikken op de naam van de map in de mapweergave van de computer en een andere naam kiezen. Dit geeft u toegang om het pad te kopiëren.

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

Sla dit op in je sendto map, de mijne is in C:\Documents and Settings\xxxxID\SendTo met een naam als Copy UNC Filepath.vbs (moet eindigen met .vbs) Als je nu met de rechtermuisknop op een map of bestand klikt zal het de UNC naar het klembord kopiëren. Onze persoonlijke map is de F drive en zet dus niet C: of 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
``` om.
1
1
1
2016-02-03 19:51:46 +0000
  1. 1. Klik in het verkenningsvenster met de rechtermuisknop op het gemapte station in de bestandsstructuur aan de linkerkant.
  2. Klik in het verkenningsvenster met de rechtermuisknop op het station in de bestandsstructuur. 2. Selecteer Hernoemen.
  3. Klik in het verkenningsvenster met de rechtermuisknop op de toegewezen schijf in de bestandsstructuur aan de linkerkant. Terwijl de tekst gemarkeerd is, rechtsklik op >>kopie.
  4. 4. Nu wordt het pad gekopieerd (met wat extra tekst die gemakkelijk te verwijderen is na het kopiëren naar een nieuwe locatie.
0
0
0
2014-10-09 22:20:56 +0000

Maak een DOS batch bestand aan zoals showmappeddrives.bat dat bevat:

@echo off    
net use
pause

Plaats het bestand op je bureaublad als je wilt. Dubbelklik erop en het zal al je gemapte schijven laten zien.

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

Alternatieve eenvoudige oplossing:

Als u het station ontkoppelt als een stationsletter, dan voegt u het opnieuw toe als een “netwerklocatie” (d.w.z. klik met de rechtermuisknop op “Computer” in het Explorer-venster en selecteer “Een netwerklocatie toevoegen”) Typ het volledige pad voor de map in. Als u doorgaat, wordt het volledige pad in de adresbalk weergegeven. Toepassingen die afhankelijk zijn van het station als brief kunnen echter mislukken.

Als ik de bovenstaande antwoorden bekijk, denk ik niet dat ik de eenvoudige oplossing heb gezien die ik heb verkregen van: 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

In bedrijfsnetwerken maken de meeste IT-afdelingen aandelen aan met behulp van DFS Name Spaces, binnen DFS Shares kunt u met de rechtermuisknop op een map klikken en het doelwit vinden.

De andere methode zou zijn om te zien of het aandeel in Active Directory wordt gepubliceerd. De eenvoudigste manier voor andere gebruikers om shares te vinden zonder het UNC-pad of de naam / het pad van de bestandsserver te kennen.

Als u documenten deelt met een groot aantal gebruikers, kan zoiets als Microsoft SharePoint een betere oplossing zijn omdat het een webinterface biedt (met WebDAV voor toegang in UNC-stijl) en ingebouwde tools biedt om andere gebruikers te waarschuwen voor documenten.

Hope Dit helpt.

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

Klik met de rechtermuisknop op de map > “Deel voor jezelf” (betekent niets) . je krijgt het pad. / of klik op “toon alle gedeelde netwerken”.

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

De SHIFT + RightClick “Copy as path” zal de drive+filename (d.w.z. R:\test.doc) kopiëren, of als je naar het bestand kijkt via UNCpath de UNCpath+filename (d.w.z. “\Documents\test.doc”)

Dit is ‘standaard’ gedrag van Windows, en daarom mijn favoriete, vooral explorer plugins die systemen vertragen… ;)