Kopieren Sie den UNC-Netzwerkpfad (nicht den Laufwerksbuchstaben) für Pfade auf zugeordneten Laufwerken aus dem Windows Explorer

Ich möchte häufig Windows-Netzwerkpfade zu Dateien mit anderen Leuten in meinem Team per E-Mail oder Chat teilen. Wir haben hier viele zugeordnete Laufwerke, sowohl die, die wir selbst eingerichtet haben, als auch die, die von unseren IT-Overlords eingerichtet wurden. Was ich tun möchte, ist, den vollständigen realen Pfad (nicht den Laufwerksbuchstaben) aus dem Windows Explorer zu kopieren, um ihn an Leute zu senden.

Beispiel: Ich habe eine Datei in meinem Laufwerk "Q:", \\cartman\users\emueller, und ich möchte einen Link zur Datei foo senden.doc darin zu mitarbeiter. Wenn ich den Dateipfad kopiere (Umschalt+Rechtsklick, "Als Pfad kopieren"), wird der Dateiname "Q:\foo.doc" in der Zwischenablage. Dies ist für andere nicht hilfreich, die \\cartman\users\emueller\foo sehen müssten.doc, um den Link konsumieren zu können.

Im Explorer kennt es eindeutig den vollständigen Pfad - in der Adressleiste sehe ich "Computer - > emueller (\\cartman\users) (Q:) ->". Gibt es eine Möglichkeit zu sagen: "Hey, kopiere diesen Pfad als Text mit dem \\cartman\users\emu, nicht dem Q: darin?"

I ich weiß, ich könnte nur zugeordnete Netzwerkspeicherorte anstelle der zugeordneten Laufwerke für diejenigen einrichten, die ich persönlich eingerichtet habe, und dieses Problem vermeiden, aber die meisten zugeordneten Laufwerke wie die Freigabe "Benutzer" stammen aus unserer Unternehmens-IT-Richtlinie und können nicht überschrieben werden. Ich könnte einfach einen separaten Netzwerkspeicherort erstellen und dann mein Q: - Laufwerk ignorieren, aber das ist unbequem (und sie tun es, damit sie Konten auf Server verschieben können). Sicher, mein per E-Mail verschickter Pfad könnte irgendwann brechen, weil ich den Laufwerksbuchstaben verliere Dereferenzierung aber das ist OK mit mir.

Author: OldCurmudgeon, 2011-02-11

17 answers

Ich hatte genau das gleiche Problem - nicht jeder hatte die gleichen zugeordneten Laufwerke wie ich oder auf die gleichen Buchstaben abgebildet.

Nach langem Suchen fand ich eine Kontextmenüerweiterung mit dem Namen Path Copy Copy auf GitHub (https://pathcopycopy.github.io/) , eine erweiterte Version einer ähnlichen, älteren Erweiterung (Pathcopy), hat einige Optionen zum Kopieren von Pfaden als Text, einschließlich einer für UNC-Pfade - Beispiel der verfügbaren Optionen werden gezeigt unter:

Pfad kopieren Kontextmenü Beispiel

Sie können auch nur eine oder zwei Zeilen im Basiskontextmenü anzeigen, z. B. zwei Zeilen, Langen Pfad kopieren und langen UNC-Pfad kopieren. Es eignet sich hervorragend für E-Mail-Benutzer in Ihrem Unternehmen, die Zugriff auf einen Netzwerkpfad haben, und wenn sie die gleiche Netzwerkzuordnung wie Sie haben, können Sie den ersteren auswählen, andernfalls können Sie diesen verwenden.

Update: Ab Version 12.0 ist auf der obigen Site ein neues "tragbares" Installationsprogramm verfügbar, das installiert nur für den aktuellen Benutzer in den Ordner AppData\Local. Ich habe das nicht versucht, aber es könnte eine Lösung für diejenigen sein, denen es verboten ist, normal zu installieren.

 53
Author: i_saw_drones,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-08-04 12:20:04

Vielleicht ein langer Weg, aber öffnen Sie ein cmd-Fenster. Geben Sie dann den Befehl net use in einen beliebigen Ordner ein. Es werden alle zugeordneten Ordner wie unten zurückgegeben (nur als Beispiel gezeigt)

P:\XX\XX>net use
New connections will be remembered.

Status       Local     Remote                Network
-------------------------------------------------------------------------------
OK           N:        \\server01\Test1      Microsoft Windows Network
OK           P:        \\server02\Test1      Microsoft Windows Network
OK                     \\10.8.5.99\NOTEBOOK  Microsoft Windows Network
OK                     \\10.8.5.99\tmp       Microsoft Windows Network

Wenn Sie möchten, können Sie die obige Ausgabe an eine Datei senden, z. B. P:\XX\XX>net use > drives.txt. Öffnen Sie dann die Datei: drives.txt und Sie können den Pfad aus der Datei für Ihre Verwendung kopieren.

Sie können auch aus dem Befehlszeilenfenster selbst kopieren.

Hoffe, das hilft.

 56
Author: Jimbo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-03-16 16:37:46

UPDATE: Coolcols Ansatz ist noch einfacher als meiner. Upvote diese Antwort.

Hier ist die Problemumgehung, die ich beim Senden von zugeordneten Netzwerkpfaden über Outlook verwende:

  1. Halten Sie im Windows Explorer die Taste shift gedrückt, r-click auf die Datei und wählen Sie " Copy as path".
  2. Fügen Sie einen Hyperlink in die E-Mail ein und fügen Sie ihn in das Adressfeld des Hyperlink-Dialogfelds ein. (Verknüpfung: Strg-K Strg-V + OK). An diesem Punkt zeigt der Link den zugeordneten Laufwerksbuchstaben als root (Q:\foo.doc) an.
  3. Jetzt, r-klicken Sie auf und wählen Sie " Bearbeiten Hyperlink... " Sie werden feststellen, dass das Adressfeld wieder in den vollständigen UNC-Pfad übersetzt wurde (\\cartman\users\emueller\foo.doc). Drücken Sie mit der Maus im Adressfeld Strg-A und Strg-C, um den vollständigen Pfad in Ihre Zwischenablage zu kopieren, und bewegen Sie den Cursor in das obere Feld ("Text zum Anzeigen:") Drücken Sie Strg-A und Strg-V, um es korrekt in Ihrer E-Mail anzuzeigen.
 39
Author: kmote,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-10-14 15:34:33

Geoff war im Grunde genau richtig, aber um einen Schritt weiter zu gehen,

  1. ZIEHEN SIE den Ordner mit der rechten Maustaste aus dem Windows Explorer in den Hauptteil Ihrer neuen E-Mail,
  2. wählen Sie dann 'Hier Hyperlink erstellen' .
 38
Author: Coolcol,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-10-15 17:17:41

Ich hatte gerade die Notwendigkeit für die gleiche Sache OP fragt und nach der Suche auf Google und Lesen der Antworten, keiner von ihnen zur Verfügung gestellt, was ich denke, das OP und ich suchen.

Das Problem hierbei ist, dass man eine Netzwerkfreigabe Drive Y zuordnen kann, während jemand anderes in der Organisation möglicherweise dieselbe Netzwerkfreigabe als Drive X zugeordnet hat; Daher funktioniert das Senden eines Links wie Y:\mydirectory möglicherweise nicht für andere Personen außer mir.

Wie das OP erklärt, zeigt Explorer den tatsächlichen Pfad in die Explorer-Leiste, aber Sie können sie nicht kopieren (die Eingabe ist mühsam und fehleranfällig, daher ist dies keine Option), auch wenn Sie copy as path aus dem Kontextmenü auswählen:

geben Sie hier die Bildbeschreibung ein

Die Lösung, die ich mir ausgedacht habe (indem ich den Code eines anderen kopiert habe), war ein kleines C# - Programm, das Sie über ein Kontextmenü im Explorer aufrufen können und mit dem Sie den zugeordneten Laufwerksbuchstaben in den tatsächlichen übersetzen können UNC path.

Hier ist der 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()));           
            }
        }
    }
}

Und hier ist die Klassendefinition Pathing (ich werde versuchen Sie, die tatsächliche Quelle zu finden, da ich mich nicht erinnern kann, wo ich sie gefunden habe):

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:\2008-02-29"
    /// might return: "\\networkserver\Shares\Photos\2008-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;
    }
}

Sie erstellen das Programm und legen die ausführbare Datei irgendwo in Ihrem PC ab, z. B. in c:\Utils

Jetzt fügen Sie im Explorer eine Kontextmenüoption wie folgt hinzu:

Regedit und dann

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"

Du bist fertig. Jetzt sehen Sie diese Option, wenn Sie mit der rechten Maustaste auf ein Verzeichnis von einem zugeordneten Laufwerk klicken:

geben Sie hier die Bildbeschreibung ein

Hinweis

Ich kann die ausführbare Datei bereitstellen, damit Sie sie müssen die Zusammenstellung nicht selbst durchführen. Schreiben Sie mir einfach eine Notiz hier.
 21
Author: Icarus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-09-20 16:36:21

Führen Sie den Befehl cmd.exe aus net use:

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

(Danke Jimbo, Ihren Antwort war gut, aber nicht zu kurz!)

 13
Author: Jonas Byström,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-10-16 12:16:39

Jemand namens Shawn Keene hat im Windows 7-Forum auf der Microsoft-Website eine - Lösung bereitgestellt. Es ist in einer Funktion namens Network Place.

  1. Öffnen Sie Den Windows Explorer.

  2. Klicken Sie mit der rechten Maustaste auf den Computereintrag im linken Bereich und wählen Sie "Netzwerkstandort hinzufügen". aufWeiter.

  3. Wählen Sie die Option" Wählen Sie einen benutzerdefinierten Netzwerkstandort " (es war der einzige, der mir vorgestellt wurde) und klicken Sie auf Weiter.

  4. Typ der gewünschte UNC-Pfad und klicken Sie zweimal auf Weiter. Dadurch wird ein Eintrag hinzugefügt, der im linken Bereich des Windows Explorers unter dem zugeordneten angezeigt wird laufwerke, aber es funktioniert wie ein zugeordnetes Laufwerk und zeigt sich so in der Speicherdialog von Anwendungen.

  5. Navigieren Sie im Windows Explorer durch diesen Eintrag zum gewünschten Unterverzeichnis und klicken Sie in den leeren Bereich rechts neben dem Brot crumbs Path-Anzeige oben im Windows Explorer-Bildschirm und die UNC Pfad erscheint und ist hervorgehoben.

 5
Author: Mark,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-09-17 09:35:01
  1. Öffnen Sie den Ordner.
  2. Ziehen Sie eine Datei aus dem Ordner nach rechts in Microsoft Word.
 5
Author: Geoff,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-04-20 18:41:52

Halten Sie Shift gedrückt und klicken Sie mit der rechten Maustaste auf die Datei und wählen Sie "Als Pfad kopieren". Fügen Sie einen Hyperlink in die E-Mail ein und fügen Sie ihn in das Adressfeld des Hyperlink-Dialogfelds ein.

Nachdem Sie den Hyperlink in der E-Mail erstellt haben, sind Sie fertig.

Der Link zeigt den zugeordneten Laufwerksbuchstaben Dies ist wahr. Wenn der Empfänger auf den Link in der E-Mail klickt, folgt er dem UNC-Pfad, unabhängig davon, ob der Benutzer zugeordnet ist oder nicht.

Ich habe dies in anderen Office 2010 versucht Anwendungen, Excel, Power Point und Word.

 3
Author: keNscale,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-10-02 19:23:54

Sie können auch mit der rechten Maustaste auf den Verzeichnisnamen in der Computerverzeichnisansicht klicken und umbenennen auswählen. Dadurch haben Sie Zugriff auf das Kopieren des Pfads.

 2
Author: Craig,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-10-01 11:34:52
  1. Klicken Sie im Explorer-Fenster mit der rechten Maustaste auf das zugeordnete Laufwerk im Dateibaum links.
  2. Wählen Sie Umbenennen.
  3. Während der Text markiert ist, klicken Sie mit der rechten Maustaste - >Kopieren.
  4. Jetzt wird der Pfad kopiert (mit etwas zusätzlichem Text, der nach dem Kopieren an einen neuen Speicherort leicht gelöscht werden kann.
 1
Author: ThomB,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-02-03 19:51:46

Speichern Sie dies in Ihrem sendto Ordner, meiner ist in C:\Documents and Settings\xxxxID\SendTo mit einem Namen wie Copy UNC Filepath.vbs (muss enden .vbs) Wenn Sie nun mit der rechten Maustaste auf einen Ordner oder eine Datei klicken, wird der UNC in die Zwischenablage kopiert. Unser persönlicher Ordner ist das Laufwerk F und konvertiert daher weder C: noch 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
Author: Colkerr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-12-28 13:19:34

In Unternehmensnetzwerken erstellen die meisten IT-Abteilungen Freigaben mithilfe von DFS-Namensräumen, in DFS-Freigaben können Sie mit der rechten Maustaste auf einen Ordner klicken und dessen Ziel finden.

Die andere Methode wäre zu sehen, ob die Freigabe in Active Directory veröffentlicht wird. Der einfachste Weg für andere Benutzer, Freigaben zu finden, ohne den UNC-Pfad oder den Namen / Pfad des Dateiservers zu kennen.

Wenn Ihre gemeinsame Nutzung von Dokumenten mit einer großen Anzahl von Benutzern, so etwas wie Microsoft SharePoint kann eine bessere Lösung als bietet ein Web schnittstelle (mit WebDAV für den Zugriff im UNC-Stil) und bietet integrierte Tools, um andere Benutzer auf Dokumente aufmerksam zu machen.

Hoffe, Das Hilft.

 0
Author: dmd83,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-02-12 22:06:12

Erstellen Sie eine DOS-Batchdatei wie showmappeddrives.bat, die Folgendes enthält:

@echo off    
net use
pause

Legen Sie die Datei auf Ihrem Desktop, wenn Sie möchten.
Doppelklicken Sie darauf und es werden alle Ihre zugeordneten Laufwerke angezeigt.

 0
Author: ThePrince,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-10-09 22:24:44

Rechtsklick auf den Ordner > Share > " share to yourself (bedeutet nichts). sie erhalten den Weg. / oder \ . oder klicken Sie auf Alle Netzwerkfreigaben anzeigen.

 0
Author: aabbcc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-11-24 06:37:36

Alternative Einfache Lösung:

Wenn Sie das Laufwerk als Laufwerksbuchstaben entpacken, fügen Sie es stattdessen erneut als "Netzwerkspeicherort" hinzu (dh klicken Sie im Explorer-Fenster mit der rechten Maustaste auf "Computer" und wählen Sie "Netzwerkspeicherort hinzufügen") Geben Sie den vollständigen Pfad für den Ordner ein. In Zukunft wird der vollständige Pfad in der Adressleiste angezeigt. Anwendungen, die vom Laufwerk als Buchstabe abhängen, können jedoch fehlschlagen.

Wenn ich die obigen Antworten durchsehe, glaube ich nicht, dass ich die einfache Lösung gesehen habe darüber erhielt ich von: 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
Author: Aiju,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-04-20 18:34:56

UMSCHALT + Rechtsklick " Als Pfad kopieren" wird das Laufwerk+Dateiname kopieren (d.h. R:\test.Dok), oder wenn Sie die Datei über UNCpath den UNCpath + filename (dh " \nas\Documents\test.doc")

Dies ist das Standardverhalten von Windows und daher mein Favorit, vor allem Explorer-Plugins, die Systeme verlangsamen.... ;)

 -2
Author: Luuk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-02-21 09:33:45