วิธีลบ (ไม่ถูกต้อง) ไฟล์ที่มีเครื่องหมายโคลอนในชื่อภายใต้ Windows


14

ฉันมีไฟล์จำนวนมากในไดรฟ์ Windows ที่มีเครื่องหมายโคลอนอยู่ในชื่อ (สิ่งเหล่านี้มาจากการคลายการบีบอัดไฟล์ Unix บางส่วน)

เมื่อฉันพยายามลบพวกเขา Windows (XP) บ่นว่าไฟล์ไม่มีอยู่และปฏิเสธที่จะลบมัน สิ่งนี้เกิดขึ้นเมื่อพยายามลบหรือเปลี่ยนชื่อจาก explorer หรือบรรทัดคำสั่ง ยังคงchkdskไม่บ่นเกี่ยวกับไฟล์เหล่านั้นหรือแก้ไขปัญหา

มีความคิดเห็นเกี่ยวกับวิธีการกำจัดพวกเขา?


มันจะให้คุณเปลี่ยนชื่อหรือย้ายพวกมันไปยังที่อื่นไหม หากคุณสามารถย้ายพวกเขาลองใส่ทั้งหมดในไดเรกทอรีเดียวแล้วลบไดเรกทอรีนั้น
nhinkle

ในทางเทคนิคมันถูกต้องมันเป็น Windows Explorer ที่ไม่ถูกต้อง ^ W ความต้องการพิเศษในการจัดการไฟล์
Alexei Averchenko

คำตอบ:


7

คุณอาจจะสามารถใช้ไวยากรณ์นี้ ( ต่อ Microsoft KB 320081 ):

del "\\?\c:\path_to_file\bad:name.ext"

ดูเพิ่มเติมนี้ ServerFaultคำถามในหัวข้อเดียวกัน "ไฟล์ลบที่มีอักขระที่ไม่ถูกต้องในหน้าต่าง"

ฉันคิดว่ายูทิลิตี sysinternals "ntfsdos" รุ่นเก่าสามารถลบ / เปลี่ยนชื่อไฟล์เหล่านี้ได้เช่นกัน แต่สิ่งเหล่านี้ไม่สามารถหาได้จากการโพสต์ MS


@ Hello71 (ถึง @Ruggle Humsteader) - ผู้ใช้ใหม่ไม่สามารถแสดงความคิดเห็นได้พวกเขาสามารถตอบได้เท่านั้น (ปัจจุบันพวกเขาต้องการ 50 คะแนนตัวแทนสำหรับสิ่งนั้น: superuser.com/faq ) แต่พวกเขาสามารถแสดงความคิดเห็นในคำถามและคำตอบของตนเองได้ (ผู้ใช้ใหม่รายอื่น ๆ จะไม่สับสนกับคำขอของคุณ)
michael

คุณจะสร้างไฟล์ดังกล่าวจาก Windows ได้อย่างไร
cutrightjm

@ekaj - ไฟล์สามารถสร้างได้โดยใช้ระบบปฏิบัติการอื่น สร้างภาพหน้าจอใน Ubuntu มันมีเครื่องหมายทวิภาคในชื่อไฟล์ จากนั้นเปิดใน Windows - ไม่ทำงาน
SPRBRN

@rxt ฉันรู้ จุดของฉันคือถ้าคุณสามารถลบได้คุณอาจจะทำให้มันเป็นอย่างไร
cutrightjm

3
ไม่ทำงานสำหรับฉันใน Windows 7
Populus

8

คุณอาจต้องการลองบูทจากอูบุนตู Live CD และลบออกจากที่นั่น


เมื่อวานนี้ฉันบันทึกภาพหน้าจอใน Ubuntu แล้วพยายามเปิดภาพนั้นใน Windows VM มันปฏิเสธที่จะเปิดไฟล์ประเภทที่ไม่ดีหรือบางอย่าง จากนั้นฉันก็รู้ว่าอาจเป็นเครื่องหมายโคลอนในชื่อไฟล์ซึ่งฉันไม่สามารถลบได้ใน Windows ฉันเปลี่ยนชื่อใน Nautilus จากนั้นฉันสามารถเปิดไฟล์ได้
SPRBRN

5

ปิดไฟล์ทั้งหมดหากมีไฟล์ที่เปิดอยู่ซึ่งถูกบันทึกไว้ในไดรฟ์ที่มีไฟล์ดังกล่าว ตอนนี้เปิดคุณสมบัติของไดรฟ์

"My Computer" -> "คลิกขวาที่คุณสมบัตินี้">

จากนั้นไปที่แท็บ " เครื่องมือ " แล้วคลิก " ตรวจสอบตอนนี้ " ภายใต้ป้ายกำกับ 'ตรวจสอบข้อผิดพลาด'

[คลิกที่นี่เพื่อดูภาพ] ()

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

ฉันลบไฟล์เหล่านั้นออกจากฮาร์ดดิสก์ภายนอกได้สำเร็จ


ฉันหวังว่ามันจะแสดงรายการสิ่งที่จะแก้ไขให้คุณ แต่สิ่งนี้ใช้ได้กับฉันใน Windows 8.1
ToastyMallows

สิ่งแรกที่ช่วยฉันหลังจากพยายาม 20 ครั้ง สิ่งนี้ใช้ chkdsk ซึ่งแก้ไขสิ่งต่างๆมากมาย
oshell

1

คุณสามารถทำได้อย่างง่ายดายใน command line (CMD) โดยไม่ต้องใช้โปรแกรมแฟนซีใด ๆ

  1. เปลี่ยนชื่อไฟล์ / โฟลเดอร์โดยใช้สัญกรณ์สั้นเก่า (เช่นชื่อไฟล์, FILENA ~ 1) และ ในการรับสัญลักษณ์ให้นำทางไปยังไดเรกทอรีที่มีโฟลเดอร์ / ไฟล์ที่มีชื่อไม่ถูกต้องและพิมพ์:

    dir / x

  2. เปลี่ยนชื่อเป็นชื่อที่ถูกต้องโดยใช้:

    ren FILENA ~ 1 ชื่อไฟล์

  3. ตอนนี้ลบไฟล์ / โฟลเดอร์ที่ถูกต้องใน CMD หรือใน Windows explorer:

    del fileName



0

หากทุกอย่างล้มเหลวคุณอาจต้องแก้ไขชื่อโดยตรงใน NTFS

ฉันได้กระทำมันประสบความสำเร็จกับActive @ ดิสก์บรรณาธิการ ดำเนินการต่อด้วยความระมัดระวัง

  • เปิดโปรแกรม
  • เลือกสำรวจคอมพิวเตอร์ของฉัน
  • ค้นหาไฟล์ของคุณ
  • เลือกตรวจสอบระเบียนไฟล์บนแถบปุ่มหรือในเมนูบริบท
  • เปิดใช้งานอนุญาตให้แก้ไขเนื้อหาในเมนูแบบเลื่อนลงแก้ไขหรือในเมนูบริบท
  • ค้นหาชื่อในคอลัมน์ Unicode และคลิกที่มันเขียนทับสัญลักษณ์ที่ไม่ดีด้วยชื่อที่ดีเช่นตัวละครหรือเส้นประ จำได้ว่าคุณต้องการเปลี่ยนชื่ออะไรและอย่างไรคุณจะต้องใช้ในขั้นตอนต่อไป
  • กลับไปที่แท็บ My Computer
  • เลือกไดเรกทอรีหลักของไฟล์ในมุมมองแบบต้นไม้
  • เลือกตรวจสอบระเบียนไฟล์บนแถบปุ่มหรือในเมนูบริบท
  • ในมุมมองแบบต้นไม้ด้านซ้ายค้นหาแอททริบิวต์ $ A0 (ตัวหนา) เปิดมันค้นหา $ INDEX_ALLOCATION การเรียกใช้ข้อมูลกลุ่มแรกคลิกที่ค่าควรเป็นแบบอินเทอร์แอคทีฟ
  • ค้นหาชื่อและแก้ไขด้วยวิธีเดียวกับในขั้นตอนก่อนหน้า คุณอาจต้องเลื่อนลงเล็กน้อยเพื่อค้นหาหากมีไฟล์จำนวนมากในไดเรกทอรี
  • หากคุณแน่ใจว่าคุณไม่ได้เขียนทับข้อมูลอื่นใดโดยไม่ตั้งใจให้คลิกบันทึก มิฉะนั้นปิดแท็บโดยไม่บันทึกการเปลี่ยนแปลงและทำทุกอย่างอีกครั้งอย่างระมัดระวัง
  • รีบูต

หากไฟล์หรือไดเรกทอรียังคงไม่สามารถเข้าถึงได้ลองchkdskตอนนี้


-2

อีกทางเลือกหนึ่งที่คุณอาจต้องการลองใช้คือนำCygWinซึ่งเป็น bash shell สำหรับ windows สิ่งนี้จะอนุญาตให้คุณใช้คำสั่ง UNIX กับโฟลเดอร์ DOS ของคุณ


1
หากคุณจัดการไฟล์ยูนิกซ์บนเครื่อง windows เป็นประจำคุณควรติดตั้ง cygwin เป็นประจำ มิฉะนั้นอาจเหมาะกับคุณในการบูตและลบไฟล์ออกจาก linux live CD เมื่อเกิดสถานการณ์
Marnix A. van Ammers

5
น่าเสียดายที่ฉันได้ลอง cygwin แล้วและนั่นก็ไม่ได้ช่วยอะไร 8- {แม้ cygwin จะไม่สามารถลบไฟล์ได้
Hans-Peter Störr

6
เครื่องมือของ cygwin ยังคงใช้ windows API ในการลบไฟล์ หาก Windows API ปฏิเสธชื่อไฟล์จะไม่สามารถทำสิ่งใดจาก Windows ด้วยเครื่องมือไฟล์มาตรฐาน ฉันยังแนะนำให้เข้าถึงระบบไฟล์จากระบบปฏิบัติการสำรอง
dolmen

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