Windows 탐색기에서 매핑 된 드라이브의 경로에 대해 UNC 네트워크 경로 (드라이브 문자 아님)를 복사하십시오.


87

이메일이나 채팅을 통해 팀의 다른 사람들과 파일에 대한 Windows 네트워크 경로를 자주 공유하고 싶습니다. 여기에는 자체적으로 구축 한 드라이브와 IT 관리자가 설정 한 드라이브가 많이 있습니다. 내가 할 수있는 일은 Windows 탐색기에서 전체 실제 경로 (드라이브 문자가 아닌)를 복사하여 사람들에게 보내는 것입니다.

예 : 내 "Q :"드라이브, \\ cartman \ users \ emueller에 파일이 있고 그 파일 foo.doc에 대한 링크를 동료에게 보내려고합니다. 파일 경로를 복사하면 (Shift + 오른쪽 클릭, "경로로 복사") 클립 보드에 파일 이름 "Q : \ foo.doc"이 표시됩니다. 링크를 사용할 수 있으려면 \\ cartman \ users \ emueller \ foo.doc을 참조해야하는 다른 사람들에게는 도움이되지 않습니다.

탐색기에서 전체 경로를 알 수 있습니다. 주소 표시 줄에 "컴퓨터-> emueller (\\ cartman \ users) (Q :)->"가 표시됩니다. "이 사람은 Q :가 아닌 \\ cartman \ users \ emueller를 사용하여 해당 경로를 텍스트로 복사합니다"라고 말하는 방법이 있습니까?

개인적으로 설정 한 드라이브에 대해 매핑 된 드라이브 대신 매핑 된 네트워크 위치를 설정하고이 문제를 피할 수 있지만 "사용자"공유와 같은 매핑 된 드라이브의 대부분은 회사 IT 정책에서 비롯된 것이므로 재정의됩니다. 별도의 네트워크 위치를 만든 다음 Q : 드라이브를 무시해도되지만 불편합니다. 서버간에 계정을 이동할 수 있습니다. 드라이브 문자를 잃어 버렸기 때문에 전자 메일 경로가 결국 중단 될 수는 있지만 괜찮습니다.


1
타사 응용 프로그램을 설치하거나 레지스트리에 액세스 할 수없는 잠긴 회사 환경에서 실행중인 경우이 솔루션은 다음과 같이 작동합니다. superuser.com/a/704374/46099
Richard

답변:


46

나는 정확히 똑같은 문제를 겪었습니다. 모든 사람이 나와 같은 매핑 된 드라이브를 가지고 있거나 같은 문자로 매핑하지는 않았습니다.

많은 검색을 한 후 GitHub의 Path Copy Copy 라는 컨텍스트 메뉴 확장 ( https://pathcopycopy.github.io/ )을 발견했습니다. UNC 경로에 대한 경로를 포함하여 텍스트로 사용 가능한 옵션의 예는 다음과 같습니다.

경로 복사 상황에 맞는 메뉴 예

기본 상황에 맞는 메뉴에서 한 줄 또는 두 줄만 표시하도록 선택할 수도 있습니다. 예를 들어 긴 경로 복사 및 긴 UNC 경로 복사 두 줄이있을 수 있습니다. 네트워크 경로에 액세스 할 수있는 회사의 사용자에게 전자 메일을 보내는 데 유용하며 사용자와 동일한 네트워크 매핑이있는 경우 전자를 선택할 수 있습니다. 그렇지 않으면 후자를 사용할 수 있습니다.

업데이트 : 버전 12.0부터는 현재 "사용자 만" AppData\Local폴더 에 설치하는 새로운 "휴대용"설치 관리자가 위 사이트에서 제공됩니다 . 나는 이것을 시도하지 않았지만 정상적으로 설치가 금지 된 사람들에게는 해결책이 될 수 있습니다.


4
조금 지저분하지만 Jimbo가 제안한대로 순 사용 을 선호합니다 .
Jonas Byström

49

어쩌면 먼 길이지만 cmd 창을 열 수 있습니다. 그런 다음net use > filename

그런 다음 파일 이름을 열고 다음 경로를 얻을 수 있습니다.
Ex :

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

열리는 drives.txt

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

\\server\c\prog\net사용하기 위해 파일에서 복사 할 수 있습니다.

도움이 되었기를 바랍니다.


10
간단하고 쉽습니다. 주제의 다른 모든 솔루션은 매우 대량입니다 ...
radistao

8
또는 "> drives.txt"를 건너 뛰고 출력 된 경로를 터미널 창에서 직접 복사하십시오.
DarenW

1
간단하고 쉽습니다. 승리.
CAD bloke

여러분의 손끝에 msysgit / bash를 사용하면 다른 솔루션보다 훨씬 쉽습니다. 중요한!
Jonas Byström

1
net use > filename 혼란스러워 .. 그리고 나는 그 자리에서 내 실제 pdf 파일 이름을 사용하여 원래의 pdf 파일을 방해했습니다. 그래, 내가 나쁜 거 알아 그러니 조심하세요 net use터미널 창에서 사용 하고 복사하십시오. 파일 안에 정말로 필요하다면 어떻게해야할지 알 것입니다.`> uncpathnamefile.txt '
ihightower

38

업데이트 : CoolCol의 접근 방식 은 내 것보다 훨씬 쉽습니다. 그 대답을 찬성하십시오.

Outlook을 통해 매핑 된 네트워크 경로를 보낼 때 사용하는 해결 방법은 다음과 같습니다.

  1. Windows 탐색기에서 shift버튼을 누른 상태에서 파일을 r- 클릭 하고 " 경로로 복사 "를 선택하십시오 .
  2. 이메일에 하이퍼 링크를 삽입하고 하이퍼 링크 대화 상자의 주소 필드에 붙여 넣습니다. (바로 가기 : ctrl-K ctrl-V+ 확인). 이때 링크는 매핑 된 드라이브 문자를 루트 ( Q:\foo.doc) 로 표시합니다 .
  3. 이제, R 버튼으로 클릭 하고 " 하이퍼 링크 편집이 ... "당신은 주소 필드가 다시 전체 UNC 경로로 번역 한 것을 알 수 있습니다 ( \\cartman\users\emueller\foo.doc). 주소 필드에 마우스로, 공격 ctrl-Actrl-C공격 : 상단 필드 ( "화면에 텍스트")로 커서를 이동 한 후, 클립 보드의 전체 경로를 복사 ctrl-A하고 ctrl-V이메일에 제대로 표시 할 수 있습니다.

설명 된 내용이 보이지 않습니다.
DarenW

어느 부분이 보이지 않습니까? 하이퍼 링크를 만들 수 있습니까? 링크를 편집하는 방법을 알고 있습니까?
kmote

3
3 단계에서 문자를 입력하고 삭제하면 복사 / 붙여 넣기보다 "텍스트 표시"가 업데이트됩니다.
79E09796

"표시 할 텍스트"에 문자를 입력 할 필요가 없습니다. 삭제하기 만하면됩니다.
Bae

1
"바로 가기 만들기"옵션을 마우스 오른쪽 버튼으로 클릭하여 복사 속도를 높이려면 Coolcol의 답변 superuser.com/a/922152/190599 를 참조하십시오 .
Bae

29

Geoff 는 기본적으로 자리를 잡았지만 한 걸음 더 나아 가기 위해

  1. Windows 탐색기에서 새 이메일 본문으로 폴더를 오른쪽 드래그
  2. 그런 다음 '하이퍼 링크 만들기' 를 선택하십시오 .

1
박스에서 가장 빠르며 가장 빠름
Alex

3
대부분 회사 환경에서 문제가 발생하고 직접 소프트웨어를 설치할 수 없으므로 가장 좋은 대답이어야합니다.
berezovskyi

이 둘은 매우 빠르기 때문에 kmote의 답변 superuser.com/a/454119/190599 와 통합되어야합니다.
Bae

19

OP가 요구하는 것과 똑같은 것이 필요했고 Google에서 검색하고 답변을 읽은 후에도 OP와 내가 찾고있는 것을 제공하지 못했습니다.

여기서 문제는 네트워크 공유를 매핑 할 수있는 Drive Y반면 조직의 다른 사람은 동일한 네트워크 공유를 매핑 할 수 있다는 것입니다 Drive X. 따라서 링크를 보내면 Y:\mydirectory나를 제외한 다른 사람에게는 작동하지 않을 수 있습니다.

OP가 설명했듯이 탐색기는 탐색기 막대에 실제 경로를 표시하지만 copy as path상황에 맞는 메뉴에서 선택하더라도 복사 할 수는 없습니다 (입력이 지루하고 오류가 발생하기 때문에 옵션이 아닙니다) .

여기에 이미지 설명을 입력하십시오

그래서 내가 찾은 솔루션 (다른 사람의 코드를 복사하여)은 탐색기의 컨텍스트 메뉴에서 호출 할 수있는 작은 C # 프로그램이며 매핑 된 드라이브 문자를 실제로 변환 할 수 있습니다 UNC path.

코드는 다음과 같습니다.

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

그리고 여기에 Pathing클래스 정의가 있습니다 (내가 어디에서 찾았는지 기억할 수 없으므로 실제 소스를 찾으려고 노력할 것입니다).

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

프로그램을 빌드하고 실행 파일을 PC 어딘가에 넣습니다 (예 : c:\Utils

이제 탐색기에서 상황에 맞는 메뉴 옵션을 다음과 같이 추가하십시오.

등록

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"

끝났습니다. 이제 매핑 된 드라이브에서 디렉토리를 마우스 오른쪽 버튼으로 클릭하면이 옵션이 나타납니다.

여기에 이미지 설명을 입력하십시오

노트

실행 파일을 제공 할 수 있으므로 직접 컴파일하지 않아도됩니다. 여기에 메모를 남겨주세요.


1
실행 파일을 압축하고 Dropbox Public 폴더와 같은 공용 공간에 넣고 여기에 링크를 제공하면 좋을 것 입니다. =)
ADTC

3
많은 작업, Jimbo가 제안한 순 사용 을 훨씬 선호합니다 .
Jonas Byström

@ JonasByström 그러나 최종 결과는 OP의 질문에 대한 것만 큼 좋습니다. "작업의 많은"나는 개인적으로 사용하지 않을지라도, 이것은 upvote에 답을 얻는 정확하게 무엇을되도록
sehe

12

다음 cmd.exe명령을 실행하십시오 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

(Jimbo에게 감사합니다. 귀하의 답변 은 훌륭했지만 간략하지는 않았습니다!)


2
나는 단 하나의 공감대를 줄 것을 후회한다. 이것은 간결합니다. 감사.
user26398

1
이것은 이상적인 접근법입니다
Ryan B.

5

Shawn Keene이라는 사람 이 Microsoft 웹 사이트의 Windows 7 포럼에서 이에 대한 솔루션 을 제공했습니다 . 네트워크 환경이라는 기능에 있습니다.

  1. Windows 탐색기를 엽니 다.

  2. 왼쪽 창에서 컴퓨터 항목을 마우스 오른쪽 버튼으로 클릭하고 "네트워크 위치 추가"를 선택하십시오. 다음을 클릭하십시오.

  3. “사용자 지정 네트워크 위치 선택”옵션 (나에게 제공된 유일한 옵션)을 선택하고 다음을 클릭하십시오.

  4. 원하는 UNC 경로를 입력하고 다음을 두 번 클릭하십시오. 그러면 Windows 탐색기의 왼쪽 창에 매핑 된 드라이브 아래에 표시되는 항목이 추가되지만 매핑 된 드라이브처럼 작동하며 응용 프로그램의 저장 대화 상자에 표시됩니다.

  5. Windows 탐색기에서 해당 항목을 통해 원하는 하위 디렉토리로 이동 한 후 Windows 탐색기 화면 상단에 빵 부스러기 경로 표시 오른쪽의 빈 영역을 클릭하면 UNC 경로가 나타나고 강조 표시됩니다.


1
다른 출처를 인용 할 예정이라면 그 출처에 링크 해 주시겠습니까?
DMA57361

원래이 게시물에서 -W7
Mark

안녕하세요. chiming에 감사드립니다. 이것에 대해 알고 있습니다. 이것이 "매핑 된 드라이브 대신 매핑 된 네트워크 위치를 설정할 수 있습니다"라는 의미입니다. IT 부서에서 제공하는 매핑 된 드라이브로 많은 사람들이 방문하게되었습니다. 부서와 연결시킬 수 있기를 바랍니다. 그러나 그것은 분명히 일부 문제에 대한 가능한 해결책입니다!
어니스트 뮬러

추신 : 나는 당신의 답변에 투표했지만 충분한 담당자는 아니므로 "가상 +1!"
어니스트 뮬러

4
  1. 폴더를여십시오.
  2. 폴더에서 Microsoft Word로 파일을 오른쪽으로 끕니다.

3

잡고 Shift아래 파일을 마우스 오른쪽 버튼으로 클릭하고 "경로로 복사"를 선택합니다. 이메일에 하이퍼 링크를 삽입하고 하이퍼 링크 대화 상자의 주소 필드에 붙여 넣습니다.

이메일에서 하이퍼 링크를 만든 후에는 완료된 것입니다.

링크는 매핑 된 드라이브 문자를 표시합니다. 수신자가 이메일의 링크를 클릭하면 사용자의 매핑 여부에 관계없이 UNC 경로를 따릅니다.

다른 Office 2010 응용 프로그램, Excel, Power Point 및 Word에서 이것을 시도했습니다.


이것은 효과가 있지만, kmote의 답변
davidmneedham

2

컴퓨터 디렉토리보기에서 디렉토리 이름을 마우스 오른쪽 단추로 클릭하고 이름 바꾸기를 선택할 수도 있습니다. 경로를 복사 할 수 있습니다.


1
  1. 탐색기 창의 왼쪽에있는 파일 트리에서 매핑 된 드라이브를 마우스 오른쪽 버튼으로 클릭하십시오.
  2. 이름 바꾸기를 선택하십시오.
  3. 텍스트가 강조 표시되는 동안 right_click-> copy.
  4. 이제 경로가 복사됩니다 (새로운 위치로 복사 한 후 쉽게 삭제되는 추가 텍스트 포함).

1
이름을 바꿀 수 있다는 사실에서 알 수 있듯이 실제 경로가 항상 나타나지는 않습니다.
벤 N

1

이것을 sendto 폴더에 저장하십시오. 내 C:\Documents and Settings\xxxxID\SendTo 이름은 Copy UNC Filepath.vbs (.vbs로 끝나야합니다) 폴더 또는 파일을 마우스 오른쪽 버튼으로 클릭하면 UNC가 클립 보드에 복사됩니다. 개인 폴더는 F 드라이브이므로 C : 또는 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

에서 앤드류 켈리 : @Colkerr, 나는 당신의 "복사 UNC Filepath.vbs"를 사용하려하지만 난 라인 2 캐릭터 (54)에 VBScript를 컴파일 오류 "문의 끝을 예상"
캐나다 루크에게

이 코드는 작동하지 않습니다. 내가 볼 것 superuser.com/a/704374/46099 당신이 잠겨 기업 환경에 있다면 대신.
Richard

보내기 폴더를 찾으려면 파일 탐색기 위치 표시 줄에 다음을 입력하십시오. shell : sendto 스크립트가 제대로 작동했습니다. 출처 : dummies.com/computers/operating-systems/windows-7/...
데이비드 Lotts

0

회사 네트워크에서 대부분의 IT 부서는 DFS 네임 스페이스를 사용하여 공유를 생성하고 DFS 공유 내에서 폴더를 마우스 오른쪽 버튼으로 클릭하고 대상을 찾을 수 있습니다.

다른 방법은 공유가 Active Directory에 게시되어 있는지 확인하는 것입니다. 다른 사용자가 UNC 경로 또는 파일 서버 이름 / 경로를 알지 않고도 공유를 찾을 수있는 가장 쉬운 방법입니다.

많은 수의 사용자와 문서를 공유하는 경우 Microsoft SharePoint와 같은 것이 웹 인터페이스 (UNC 스타일 액세스를위한 WebDAV 포함)를 제공하고 다른 사용자에게 문서를 알리는 기본 제공 도구를 제공하는 것이 더 나은 솔루션 일 수 있습니다.

도움이 되었기를 바랍니다.


1
폴더를 마우스 오른쪽 버튼으로 클릭하면 "대상 찾기"옵션이 표시되지 않습니다. 정확히 무엇을 의미합니까? 제 말은, 실제 경로를 볼 수 있다는 것입니다. 그것은 수수께끼가 아닙니다. 단지 잘라 내고 지나칠 수 있고 타이핑하지 않고 싶어요. Sharepoint의 경우, 소프트웨어에서 5 천만 달러는 "단지 경로를 잘라 붙여 넣을 수는 없습니다"라는 이상적인 답변은 아닙니다.
Ernest Mueller

0

다음을 포함하는 DOS 배치 파일을 작성하십시오 showmappeddrives.bat.

@echo off    
net use
pause

원하는 경우 파일을 바탕 화면에 배치하십시오.
두 번 클릭하면 매핑 된 모든 드라이브가 표시됩니다.


이것을 사용하는 방법에 대한 설명을 추가했다면, 당신의 대답은 2 년 반 전의 Jimbo의 대답과 중복됩니다.
G-Man

0

폴더> 공유> "자신에게 공유 (아무것도 의미 없음)"를 마우스 오른쪽 단추로 클릭하면 경로가 표시됩니다. / 또는 \ 또는 모든 네트워크 공유 표시를 클릭하십시오.


0

대체 간단한 솔루션 :

드라이브를 드라이브 문자로 매핑 해제 한 경우 대신 "네트워크 위치"로 드라이브를 다시 추가하십시오 (예 : 탐색기 창에서 "컴퓨터"를 마우스 오른쪽 단추로 클릭하고 "네트워크 위치 추가"를 선택하십시오) 폴더의 전체 경로를 입력하십시오 . 앞으로 주소 표시 줄에 전체 경로가 표시됩니다. 그러나 문자로 드라이브에 의존하는 응용 프로그램은 실패 할 수 있습니다.

위의 답변을 살펴보면 위의 간단한 솔루션을 보지 못했다고 생각합니다. https://answers.microsoft.com/en-us/windows/forum/windows_7-files/how-can-i-display 서브 / ebfd의 전체 unc-path-ebfd4253-8016-4cbd-b0d6-1bbeae9189f9


-2

Shift + 마우스 오른쪽 단추로 "경로 복사"를 클릭하면 드라이브 + 파일 이름 (예 : R : \ test.doc)이 복사되거나 UNCpath를 통해 파일을보고있는 경우 UNCpath + 파일 이름 (예 : "\ nas \ Documents \ test.doc) ")

이것은 Windows의 '표준'동작이므로 시스템을 느리게 만드는 모든 탐색기 플러그인 중에서 가장 좋아하는 것입니다 ....;)


1
이것은 내 문제를 해결하는 데 도움이되지 않습니다.
어니스트 뮬러
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.