ฉันจะลบลิงค์สัญลักษณ์ได้อย่างไร


322

ฉันสร้าง symlink mklinkโดยใช้ ตอนนี้ฉันต้องการเปลี่ยน แต่ฉันไม่สามารถหาวิธีลบได้ดังนั้นฉันสามารถสร้างใหม่ได้อย่างถูกต้อง

คำตอบ:


557

ระวังให้มาก

หากคุณมีลิงก์สัญลักษณ์ที่เป็นไดเรกทอรี (สร้างด้วยmklink /d) การใช้delจะลบไฟล์ทั้งหมดในไดเรกทอรีเป้าหมาย (ไดเรกทอรีที่ลิงก์ชี้ไป) แทนที่จะเป็นเพียงลิงก์

การแก้ไข: rmdirในทางกลับกันจะลบลิงก์ไดเรกทอรีเท่านั้นไม่ใช่สิ่งที่ลิงก์ชี้ไป


103
เมื่อทำสิ่งนี้โดยไม่ตั้งใจ (ลบเนื้อหาทั้งหมดของโฟลเดอร์เป้าหมาย) นี่เป็นคำแนะนำที่สำคัญ
Simon Gillbee

4
คำตอบนี้ไม่ถูกต้องทั้งหมด Delลบไฟล์ไม่ใช่โฟลเดอร์ ดังนั้นคุณจะไม่ใช้delเพื่อลบลิงก์
AMissico

12
แต่อย่าใช้rmdirใน PowerShell ห่อไว้cmdก่อน ดูคำตอบของฉันด้านล่าง ...
northben

4
ถ้าฉันลบมันผ่าน windows explorer ????
Cheung

8
พนักงานของ Microsoft กลับไปที่นั่นอีกครั้งเพียงพยายามทำลายชีวิตของฉันอาชีพและระบบปฏิบัติการ Windows
ThorSummoner

62

ในการลบลิงค์สัญลักษณ์ไดเรกทอรีที่สร้างขึ้นด้วยmklink /dมันปลอดภัยที่จะเพียงแค่ลบลิงค์สัญลักษณ์ใน explorer


27
+1 สำหรับบอกคนอื่นว่ามีการบันทึกไว้เพื่อลบลิงก์สัญลักษณ์ผ่าน Windows Explorer
AMissico

3
ถูกต้อง. ฉันทำมันตลอดเวลา เพิ่งทดสอบอีกครั้งในขณะนี้
ddelrio1986

2
มันก็ใช้ได้กับฉันเช่นกัน ฉันลบลิงค์ไม่ใช่โฟลเดอร์ซอร์สที่เชื่อมโยงอยู่ บางทีที่จับ
R Hughes

3
สามารถลบได้อย่างปลอดภัยด้วย Rightclick -> Delete นี่จะไม่ลบโฟลเดอร์ที่เชื่อมโยง
Hexo

mklink / วันไม่ได้ทำงานสำหรับฉันใน Windows 7 .. ฉันอาจจะได้รับใช้รุ่นเก่าแม้ว่า
abelito

47

สำหรับ symlink delไปยังแฟ้มให้ใช้ สำหรับ symlink ไปยังไดเรกทอรีที่ทำด้วยใช้mklink /drmdir


5
คำเตือน: "del" จะลบไฟล์ไม่ใช่เฉพาะลิงก์
WoodenKitty

6
คำเตือนจาก @Tristan ไม่ถูกต้องคำตอบนี้ถูกต้อง ทดสอบบน windows 7
jiggunjer

1
ใน Windows 7 SP1 (64- บิต) ลิงก์สัญลักษณ์ที่ชี้ไปยังไฟล์ (เช่นสร้างโดยใช้ MKLINK) หรือไปยังไดเรกทอรี (MKLINK / D) สามารถลบได้ใน Windows Explorer โดยใช้ตัวเลือก 'ลบ' Windows GUI ทั่วไป , โดยไม่ต้องลบเป้าหมาย แม้แต่JUNCTION (เช่นสร้างโดยใช้คำสั่ง MKLINK / J) หากถูกลบใน Explorer จะไม่ลบไดเรกทอรีเป้าหมายหรือเนื้อหาของมัน หากไม่ว่างเปล่าไดเรกทอรีเป้าหมายจะไม่สามารถลบได้โดยใช้คำสั่ง DEL junctionที่พร้อมท์คำสั่ง ผ่านการทดสอบในวันนี้
Ed999

ใน Windows Server 2012 สิ่งนี้จะลบเนื้อหาไดเรกทอรีที่ symlink ของฉันชี้ไป ...
C Bauer

คุณควรเตือนผู้คนไม่ให้rmdirลิงก์จาก Powershell!
นิวแฮมป์เชียร์

28

ใน Powershell อย่าใช้rmdir! ใช้cmd /c rmdir .\Targetแทน ฉันทดสอบตัวเองและยืนยันที่นี่: http://kristofmattei.be/2012/12/15/powershell-remove-item-and-symbolic-links/


บล็อกนั้นทำให้สับสนในความหมายของ "เป้าหมาย" ซึ่งเป็นไดเรกทอรีที่แท้จริงที่ลิงค์ไปถึงและคนทั่วไปต้องการหลีกเลี่ยงการลบในขณะที่นำลิงก์ออก
kreemoweet

2
rmdirเป็นคำสั่งภายในของ cmd.exeจึงเห็นได้ชัดว่าจะเรียกมันว่าจากเปลือกหอยอื่น ๆ ที่คุณจะต้องหรือ cmd /c ใน PowerShell เป็นเพียงนามแฝงถึงcmd /krmdirRemove-Item
phuclv

24

มีอีกวิธีทดสอบโดยฉันและปลอดภัยในการใช้ เพียงเพิ่มในโฟลเดอร์จริง _ (ตัวอย่าง: foo กลายเป็น foo_) จากนั้นเพียงลบลิงก์สัญลักษณ์ของคุณจากนั้นลบ _ ออกจากโฟลเดอร์ที่แท้จริงของคุณ


2
ใช่นี้เป็น 100% วิธีการแก้ปัญหาที่ปลอดภัยที่สุดหลังจากที่คุณรู้ว่า PowerShell ไม่ให้เป็น T ** เกี่ยวกับ rmdir
test30

นี่คือข้อควรระวังที่ชาญฉลาด +1
ฮันนา

คำเตือน: ฉันไม่คิดว่า MIGHT นี้อาจไม่ทำงานบน Win10 เนื่องจากมันแก้ไขทางลัดเมื่อเปลี่ยนชื่อ (ทางลัดคลาสสิกอย่างน้อยที่สุด) ไม่ได้ทดสอบ
Hexo

ฉันทำสิ่งนี้ในกรณี หลังจากฉันเปลี่ยนชื่อโฟลเดอร์เป้าหมายลิงก์ symbolink ล้มเหลวเมื่อฉันพยายามเข้าถึงดังนั้นฉันสามารถลบออกได้โดยไม่ต้องกังวล
แอนดรู

21

mklink ไม่สามารถใช้เพื่อลบลิงก์สัญลักษณ์ หากต้องการลบลิงก์สัญลักษณ์เพียงแค่ลบออกราวกับว่าคุณกำลังลบไฟล์ปกติ ตัวอย่างเช่นหากต้องการลบลิงก์สัญลักษณ์ฟูที่สร้างขึ้นด้านบนให้ป้อนคำสั่งต่อไปนี้:

หากลิงก์นั้นเป็นลิงก์ที่ยากไปยังไดเรกทอรี:

C:\test>rmdir foo

หรือถ้าลิงก์ชี้ไปที่ไฟล์ (ตรงข้ามกับ dir)

C:\test>del foo

ที่มา: http://www.mydigitallife.info/2007/05/22/create-symbolic-links-hard-links-and-directory-junctions-in-vista-with-mklink/


2
เพียงให้แน่ใจว่าคุณไม่ได้ลบมันด้วยdel /Sหรือ Explorer
Hello71

1
ดูคำตอบของ eddyq ด้านล่างเนื่องจากการใช้ del สำหรับลิงก์ที่ทำกับไดเรกทอรีจะไม่ทำงานและจะพยายามลบเนื้อหาของโฟลเดอร์แทน
jpierson

2
ไม่มีฮาร์ดลิงก์ไปยังไดเรกทอรี ฉันคิดว่าคุณหมายถึง symlink
Brilliand

0

ในกรณีของฉัน (Windows 10) หลังจากสร้างลิงก์สัญลักษณ์โดยใช้

MKLINK /D "C:\Users\username\Dropbox\MyProject" "C:\SourceProject"

และลบผ่านทางลบโดยใช้แฟ้มข้อมูลหรือแป้นพิมพ์ลบคีย์ ลบไดเรกทอรีเดิม

สิ่งที่คุณควรทำคือการลบลิงค์ผ่านพรอมต์คำสั่ง

C:\Users\username\Dropbox>rd /s MyProject

สำหรับรายละเอียดเกี่ยวกับคำสั่ง rd: https://docs.microsoft.com/en-us/windows-server/administrator/windows-commands/rd


0

วิธีที่ง่ายที่สุดคือการย้ายโฟลเดอร์ (ซึ่งลิงก์สัญลักษณ์กำลังชี้) ไปยังตำแหน่งอื่น (ไปยังโฟลเดอร์หลัก) จากนั้นลบลิงก์สัญลักษณ์ ไม่มีไฟล์ใดที่จะได้รับอันตราย!


0

ฉันติดตั้งส่วนขยาย Link Shellแล้ว ด้วยวิธีนี้คุณมี 2 วิธี

วิธีที่ 1

สร้างโดยใช้เมนูบริบทตามที่แสดงและลบผ่าน file explorer

ทดสอบกับโฟลเดอร์C:\Windows\Logsตามที่แสดงหรือคล้ายกัน ฉันแค่สร้างไดเรกทอรีของตำแหน่งที่เป็นไปได้ทั้งหมดของไฟล์ temp เพื่อลบและฉันต้องการโฟลเดอร์กลางที่ฉันสามารถตรวจสอบขนาดของไฟล์เหล่านั้นผ่านลิงก์สัญลักษณ์

โปรดทราบ:หน้าจอสีขาวจะเป็นเพียงUAC

ลบออกจากวิธีการสำรวจ

วิธีที่ 2

วิธีที่ปลอดภัยที่สุดไม่มีเอกสารที่นี่ AFAIK

บนลิงก์สัญลักษณ์ที่สร้างขึ้น ( ในขั้นตอนที่แสดงด้านบน ) ให้คลิกขวาในเวลานี้และคลิกคุณสมบัติจากนั้นไปที่Link Propertiesแท็บ

หมายเหตุ:ส่วนขยายของเชลล์นี้เพิ่มแท็บนี้

ก่อนที่ผมจะไปที่ข้อมูลอื่น ๆ อีกมากมายสามารถพบได้ที่นี่ยังในหน้าแรกเป็นx 64 และ 32bit รุ่น

ดังนั้นเพื่อดำเนินการต่อที่นี่คุณสามารถเพิ่มอะไรก็ได้ในฟิลด์เป้าหมายตราบเท่าที่มันแตกต่างจากเป้าหมายดั้งเดิม


  1. ก่อนหน้านี้มีเป้าหมายเป็น C:\Windows\Logs กำหนดเป้าหมายก่อน

  2. นี่คือหลังจากที่มีเป้าหมายเป็นC:\Windows\Logs_, สังเกตเสริม_ในตอนท้าย

    กำหนดเป้าหมายหลังจาก

  3. กด OK

  4. คุณสามารถตรวจสอบสิ่งนี้ได้อีกครั้งโดยทำตามขั้นตอนเดียวกัน 1-3 ด้านบนเพื่อให้แน่ใจว่าติดอยู่ในครั้งนี้คุณจะได้รับข้อความแสดงข้อผิดพลาดเมื่อคุณคลิกที่Link Propertiesแท็บเพื่อให้ลิงค์เสียหาย

  5. ตอนนี้ปลอดภัยแล้วที่จะลบลิงก์สัญลักษณ์กว่าวิธีที่ 1 IMHO


แต่! ทั้งสองวิธีทำงานที่นี่ดังนั้นจึงขึ้นอยู่กับตัวเลือกของผู้ใช้ ฉันชอบวิธีการของคุณสมบัติที่ฉันสะดุดอย่างมีความสุขดังนั้นคุณมั่นใจได้ 100% ว่าลิงก์เสียโดยใช้ขั้นตอนที่ 4ด้านบน

นี่คือ gif ของฉันที่สร้างลิงก์สัญลักษณ์โดยปุ่มเมาส์ขวาลากโฟลเดอร์ไปยังอีกโฟลเดอร์หนึ่งและเลือกตัวเลือกเพื่อสร้างลิงก์สัญลักษณ์ในเมนูย่อย

หากต้องการลบเพียงทำตามขั้นตอน 1-5 ด้านบนของวิธีที่ 2 หรือทำตามวิธีที่ 1

วิธีสร้างและลบลิงค์สัญลักษณ์โดยใช้วิธีการคุณสมบัติ

โปรดทราบ:หน้าจอสีขาวจะเป็นเพียงUAC

gif เกี่ยวกับวิธีสร้างและลบลิงค์เชื่อมโยงโดยใช้วิธีการคุณสมบัติ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.