ดูรายการลิงก์สัญลักษณ์ในระบบ?


คำตอบ:


92

ลองคำสั่งต่อไปนี้:

dir /AL /S C:\
  • /Aแสดงไฟล์ทั้งหมดที่มีแอททริบิวต์ที่เฉพาะเจาะจงและLระบุจุดแยกวิเคราะห์ใหม่ (symlink และ junctions ของไดเรกทอรี)
  • /S ทำให้คำสั่งซ้ำ
  • แทนที่C:\ด้วยอักษรระบุไดรฟ์ที่คุณต้องการสแกนหรือใช้พา ธ หากคุณไม่ต้องการสแกนไดรฟ์ทั้งหมด

2
มีวิธีที่จะทำให้มันไม่เข้าสู่ symlinks / junctions เพื่อไม่ให้ติดอยู่ในวงวนไม่สิ้นสุดหรือไม่?
BrainSlugs83

15

ใน PowerShell

Dir C:\ -Force -Recurse -ErrorAction 'silentlycontinue' | 
  Where { $_.Attributes -match "ReparsePoint"}
  • -Force รวมถึงไฟล์ที่ซ่อนและระบบ
  • -Recurse รับรายการเด็กทั้งหมด
  • -ErrorAction 'silentlycontinue'ระงับการเข้าถึงพา ธ XYZ ถูกปฏิเสธข้อผิดพลาด
  • Where { $_.Attributes -match "ReparsePoint"}ตรวจสอบโฟลเดอร์และไฟล์ต่าง ๆ ว่าเป็นทางแยก

คำอธิบายของคุณสมบัติของโหมด :

  • d - ไดเรกทอรี
  • a - เอกสารเก่า
  • r - อ่านอย่างเดียว
  • h - ซ่อน
  • s - ระบบ
  • l - จุดแยกวิเคราะห์ symlink ฯลฯ

ขอบคุณ - นี่อาจมีประสิทธิภาพมากสำหรับการเขียนสคริปต์ - มีคุณสมบัติที่แสดงว่าลิงก์ไปที่ใด - ดูเหมือนจะไม่ปรากฏตามค่าเริ่มต้น แต่ถ้ามีเราสามารถใช้สคริปต์กับมันได้
BrainSlugs83

1
@ BrainSlugs83 เพื่อให้เป้าหมายของ ReparsePoints โดยทางโปรแกรมอ่านคำตอบ SO นี้
nixda

5

นอกจากนี้ยังมีโปรแกรมที่มีประโยชน์สำหรับการที่เรียกว่าNTFSLinksView

แก้ไข: นอกจากนี้ยังมีSageLinksอันนี้ตรวจสอบความถูกต้องเช่นกัน


1

ฉันรู้ว่าคำตอบนี้มาสาย แต่อาจเป็นสิ่งที่ใกล้เคียงกับสิ่งที่คุณกำลังมองหา:

dir /AL /S C:\ | find "SYMLINK"

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