Duyệt một đường dẫn UNC bằng Windows CMD mà không ánh xạ nó tới ổ đĩa mạng


154
C:\> cd \\somewhere
'\\somewhere'
CMD does not support UNC paths as current directories.

Những gì tôi thường làm để giải quyết vấn đề này là ánh xạ thư mục đó vào ổ đĩa mạng và sau đó tôi có thể dễ dàng truy cập nó từ dấu nhắc lệnh.

Nhưng có cách nào dễ dàng hơn để giải quyết vấn đề này không?


12
bạn sử dụng cửa sổ nào Nếu là Windows 7, bạn đã cài đặt sẵn hệ thống của mình. Powershell hỗ trợ các đường dẫn và lệnh cmd (với một vài ngoại lệ).
wullxz

Bạn luôn có thể duyệt đến đường dẫn thông qua chạy.
Supercereal

1
@wullxz: chúc mừng, tôi không biết bạn có thể duyệt các đường dẫn UNC bằng PowerShell. @kyle: Đó thực sự là một câu trả lời hợp lệ theo câu hỏi của tôi :) Nhưng tôi muốn truy cập nó từ môi trường dòng lệnh. Sẽ sửa đổi câu hỏi của tôi để làm cho điều này rõ ràng hơn.
Andreas Grech

Nếu vấn đề của bạn là bạn chỉ cần làm việc từ dòng lệnh, bạn có thể ánh xạ ổ đĩa mạng bằng lệnh 'net': net sử dụng x: \\ tên máy tính \ chia sẻ tên
Al Crowley

1
@Aleister Crowley: Có, tôi biết, nhưng tôi đang hỏi liệu có cách nào dễ dàng hơn không liên quan đến việc lập bản đồ ổ đĩa mạng không.
Andreas Grech

Câu trả lời:


210

Nếu bạn sử dụng pushdpopdthay vì cdbạn sẽ không nhận được lỗi UNC đó.

pushd <UNC path>sẽ tạo một ổ đĩa ảo tạm thời và xâm nhập vào nó.
popdsẽ xóa ổ đĩa tạm thời và đưa bạn trở lại con đường bạn đã đi khi bạn bước vào pushd.

Thí dụ:

C:\a\local\path> pushd \\network_host\a\network\path

U:\a\network\path> REM a temporary U: virtual drive has been created

U:\a\network\path> popd

C:\a\local\path> REM the U: drive has been deleted

C:\a\local\path>

13
Sử dụng pushdtạo một ánh xạ ổ đĩa để chia sẻ mạng và sau đó thay đổi thành một đường dẫn liên quan đến chia sẻ mà nó tạo ra. popdngắt kết nối chia sẻ.
Dov

2
Điều này không hoạt động với tôi trên Windows 10.C:\WINDOWS\system32>pushd \\some\network\path ' ' CMD does not support UNC paths as current directories.
kayleeFrye_onDeck

1
Nó chỉ hoạt động với tôi trong Windows 10, thật kỳ lạ. Tôi đã làm pushd \\ServerName\home\dir\dir2.
Diziet

3
Bản địa và thanh lịch, chỉ là một kỳ quan. Hoạt động cho Windows 10.
WesternGun

Có mẹo nào để làm cho nó hoạt động khi thông tin chia sẻ không khớp với thông tin người dùng của máy không?
Perkins

15

Tôi sử dụng Git Bash để làm điều này, vì tôi đã cài đặt nó.

nhập mô tả hình ảnh ở đây

Là một tiền thưởng thêm:
Nó cũng có màu sắc tốt hơn, hãy cho tôi sử dụng ls, rmvv, và sử dụng các dấu gạch chéo chính xác cho đường dẫn. : P


Bạn cũng có thể sử dụng dấu gạch chéo ngược nếu bạn thoát chúng bằng dấu gạch chéo ngược:cd \\\\server\\share\\subdirectory
user121391

1
Ngoài ra, nếu bạn cố gắng sử dụng hoàn thành tab với tên máy tính, trình bao có thể bị khóa trong một thời gian cho đến khi tên được giải quyết.
121391

nó không hoạt động với tôi
KansaiRobot

12

"ContextConsole Shell Extension" của Kliu (hay còn gọi là Dấu nhắc mở) cho biết, "thậm chí có thể mở các thư mục từ đường dẫn mạng (đường dẫn UNC)" (từ cửa sổ Explorer).

http://code.kliu.org/cmdopen/

nhập mô tả hình ảnh ở đây


3
Chương trình này là tuyệt vời nhất!
afrazier

1
Tôi bị sốc bởi ảnh chụp màn hình, nó tồn tại!
LiuYan 刘

nhớ mở // ổ đĩa và không phải là phiên bản được ánh xạ. Nó sẽ thất bại trên bản đồ.
Twobob

8

Tôi cũng gặp vấn đề với UNC C:\> cd \\somewheretrong một chương trình C. Tìm thấy trang này và tìm hiểu về netlệnh: net use x: \\computer name\share namevà sử dụng nó thành công! Cảm ơn tất cả những người đăng kinh nghiệm của họ cho người khác học hỏi. :-)


1
Có, nhưng sử dụng net usesẽ ánh xạ vị trí đó vào ổ đĩa mạng và đó không phải là điều tôi muốn.
Andreas Grech

2
@AndreasGrech, Thật ra pushdcũng vậy.
Pacerier

Điều này hoạt động tốt trong Far+ ConEmu, không giống như pushd.
Dzmitry Lahoda

@Pacerier Nhưng pushdtự động chọn ký tự ổ đĩa và ngắt kết nối ổ đĩa mạng khi không còn cần thiết (sau popdhoặc exit).
Martin

4

Nếu bạn đang sử dụng XP, bạn có thể xem trang web này http://support.microsoft.com/kb/156276

Có một giá trị đăng ký mà bạn cần thêm, đăng xuất, đăng nhập lại ... và bây giờ cmd.exe của bạn hỗ trợ UNC-Paths. Dường như với tôi rằng bạn vẫn không thể cd vào đường dẫn, nhưng bạn có thể sử dụng nó trong các lệnh khác như dir, sao chép ...

Một cách khác có thể là sử dụng lệnh Pushd, nó sẽ cho phép bạn chuyển sang chia sẻ (tôi đoán bằng cách gán cho nó một ký tự ổ đĩa tạm thời) http://support.microsoft.com/kb/317379


Các trang bạn liên kết có vẻ như các trang trống ......
Pacerier 24/1/2015

Các liên kết làm việc ở đây. Bạn đã thử sử dụng https chưa?
BigBlackDog

-3

Bạn có thể sử dụng ứng dụng HttpFileServer, trên các cửa sổ, rất nhẹ và rất dễ cấu hình, nó cho phép bạn chia sẻ thư mục mạng UNC (\ server \ share) với giao thức HTTP và liên kết HTTP có thể được sử dụng trong bất kỳ trang HTML nào

http://www.rejetto.com/hfs/

ngạc nhiên


8
Không hữu ích cho người dùng dòng lệnh.
Isaac Rabinovitch

Tôi đồng ý rằng đây là một phần mềm tuyệt vời, nhưng làm thế nào nó có thể được sử dụng để giải quyết sự thật rằng ứng dụng cửa sổ CMD không xử lý UNC?
Jay Elston
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.