คุณไม่สามารถลบแฟ้ม หรือโฟลเดอร์บนระบบไฟล์ NTFS มีไดรฟ์ข้อมูลระบบของแฟ้ม

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 320081 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้

ถ้าต้องการรับการปรับปรุงความปลอดภัยอย่างต่อเนื่องสำหรับ Windows โปรดตรวจสอบว่าคุณใช้ Windows XP พร้อม Service Pack 3 (SP3) สำหรับข้อมูลเพิ่มเติม โปรดดูที่หน้าเว็บของ Microsoft ต่อไปนี้::การสนับสนุนกำลังจะสิ้นสุดลงสำหรับ Windows บางรุ่น

ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

บทนำ

บทความนี้อธิบายถึงสาเหตุทำให้คุณอาจไม่สามารถลบแฟ้มหรือโฟลเดอร์บนไดรฟ์ข้อมูลระบบแฟ้ม NTFS และวิธีการที่อยู่สาเหตุต่าง ๆ เพื่อแก้ไขปัญหานี้

ข้อมูลเพิ่มเติม

หมายเหตุ:ภายใน ระบบไฟล์ NTFS ใช้โฟลเดอร์เป็นแฟ้มชนิดพิเศษ ดังนั้น คำว่า "แฟ้ม" ในบทความนี้บ่งชี้ว่า มีแฟ้มหรือโฟลเดอร์

สาเหตุที่ 1: ACL แฟ้มใช้

คุณอาจไม่สามารถลบแฟ้มได้ถ้าแฟ้มใช้ในการเข้าถึงตัวควบคุมรายการ (ACL) ได้ เมื่อต้องการแก้ไขปัญหานี้ เปลี่ยนแปลงสิทธิ์บนแฟ้ม คุณอาจต้องการเป็นเจ้าของแฟ้มเพื่อให้สามารถเปลี่ยนแปลงสิทธิ์

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

คุณไม่สามารถใช้เครื่องมือการรักษาความปลอดภัยบางอย่าง เพื่อแสดง หรือ การปรับเปลี่ยนสิทธิ์ได้เนื่องจากแฟ้มมี ACL ที่ไม่ใช่มาตรฐาน

เมื่อต้องการแก้ไขปัญหานี้ ใช้เครื่องมืออื่น (ตัวอย่างเช่น แบบหลังจากสร้างของ Cacls.exe)

การเข้าถึงตัวควบคุมรายการ (ACEs) ใน ACL มีบางอย่างที่ต้องการลำดับขึ้นอยู่กับชนิดของตนเอง ตัวอย่างเช่น ACEs ที่ปฏิเสธการเข้าถึงโดยปกติมาก่อน ACEs ที่อนุญาตให้เข้าถึง อย่างไรก็ตาม สิ่งใดที่ป้องกันโปรแกรมที่เขียน ACL ที่มี ACEs ในลำดับใด ๆ เอง ในบางรุ่นก่อนหน้า Windows ปัญหาที่เกิดขึ้นเมื่อทำการ Microsoft Windows พยายามอ่านค่าเหล่านี้ให้กลายเป็นค่า ACLs "ไม่ใช่แบบมาตรฐาน" ในบางครั้ง คุณไม่สามารถแก้ไข acl เหล่านี้อย่างถูกต้อง โดยใช้ตัวแก้ไขการรักษาความปลอดภัยที่เป็นรูปภาพของ Microsoft Windows Explorer ปัญหานี้ได้ถูกแก้ไขใน Windows รุ่นที่ใหม่กว่า ถ้าคุณประสบปัญหานี้ ใช้ Cacls.exe รุ่นล่าสุด แม้ว่าคุณไม่สามารถแสดง หรือแก้ไข ACL ที่ตำแหน่ง คุณสามารถเขียน ACL ใหม่ที่ช่วยให้คุณสามารถเข้าถึงแฟ้ม

สาเหตุที่ 2: แฟ้มกำลังถูกใช้

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

ขึ้นอยู่กับวิธีเปิดแฟ้ม (ตัวอย่างเช่น จะเปิดสำหรับการเข้าถึงแบบเอกสิทธิ์เฉพาะบุคคลแทนการเข้าถึงที่ใช้ร่วมกัน), คุณอาจไม่สามารถลบแฟ้มที่ถูกใช้งานได้ คุณสามารถใช้เครื่องมือต่าง ๆ เพื่อช่วยให้คุณกำหนดกระบวนการที่มีการจัดการกับการเปิดแฟ้มทุกครั้งที่คุณต้องการสำหรับข้อมูลเพิ่มเติมเกี่ยวกับเครื่องมือที่ช่วยให้กระบวนการที่มีการจัดการกับการเปิดแฟ้ม คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
242131วิธีการแสดงรายการของกระบวนการที่มีแฟ้มที่เปิด
172710วิธีการใช้เครื่องมือ OH บนทรัพยากร Kit การ Windows NT 4.0
อาการของปัญหานี้อาจแตกต่างกัน คุณอาจไม่สามารถใช้การลบจริง ๆ แล้วไม่มีลบคำสั่งที่จะลบไฟล์ แต่แฟ้มจนกว่ากระบวนการที่มีแฟ้มรุ่นที่เปิดแฟ้ม นอกจากนี้ ทำให้คุณอาจไม่สามารถเข้าถึงการรักษาความปลอดภัยกล่องโต้ตอบสำหรับแฟ้มที่กำลังรอการลบ เมื่อต้องการแก้ไขปัญหานี้ กำหนดกระบวนการที่มีหมายเลขอ้างอิงที่เปิด และจากนั้น ปิดกระบวนการนั้น

สาเหตุที่ 3: ความเสียหายของระบบแฟ้มถูกป้องกันการเข้าถึงแฟ้ม

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

เซกเตอร์เสียบนดิสก์ ฮาร์ดแวร์อื่น ๆ ที่ผิดพลาด หรือซอฟต์แวร์บักสามารถระบบแฟ้มที่เสียหาย และเก็บแฟ้มในสถานะที่ปัญหา โดยทั่วไปของการดำเนินงานอาจล้มเหลวในหลากหลายวิธี เมื่อระบบแฟ้มตรวจพบความเสียหาย มันจะบันทึกเหตุการณ์ไว้ในล็อกเหตุการณ์ และคุณได้รับข้อความที่พร้อมท์ให้คุณสามารถรัน Chkdsk ทั้งนี้ขึ้นอยู่กับลักษณะของการเกิดความเสียหาย โดยทั่วไป Chkdsk อาจ หรืออาจไม่สามารถกู้คืนไฟล์ข้อมูล อย่างไรก็ตาม Chkdsk คืนค่าระบบแฟ้มไปยังสถานะสอดคล้องกันภายในFor additional information about using the Chkdsk utility, click the following article numbers to view the articles in the Microsoft Knowledge Base:
176646Error message: The file or directory is corrupt...
187941An explanation of CHKDSK and the New /C and /I switches

Cause 4: Files exist in paths that are deeper than MAX_PATH characters

You may not be able to open, edit, or delete a file if there are issues with the file path.

Resolution 1: Use an auto-generated 8.3 name to access the file

To resolve this issue, you may want to use the auto-generated 8.3 name to access the file. This resolution may be the easiest resolution if the path is deep because the folder names are too long. If the 8.3 path is also too long or if 8.3 names have been disabled on the volume, go to Resolution 2.For additional information about disabling 8.3 file names on NTFS volumes, click the following article number to view the article in the Microsoft Knowledge Base:
121007How to disable the 8.3 name creation on NTFS partitions

Resolution 2: Rename or move a deep folder

Rename the folder so that the target files that are deeper than the MAX_PATH no longer exist. If you do this, start at the root folder (or any other convenient place), and then rename folders so that they have shorter names. If this step does not resolve this issue (for example, if a file is more than 128 folders deep), go to Resolution 4.

Resolution 3: Map a drive to a folder in the structure of the path

Map a drive to a folder inside the structure of the path of the target file or folder. This method shortens the virtual path.

For example, suppose you have a path that is structured as follows:
\\Servername\SubfolderName1\SubfolderName2\SubfolderName3\SubfolderName4\...
In this path, the total character count is over 255 characters. To short the length of this path, to 73 characters, map a drive to SubfolderName4.

Resolution 4: Use a network share that is as deep as the folder

If Resolution 1, 2, and 3 are not convenient or do not resolve the issue, create a network share that is as deep in the folder tree as you can, and then rename the folders by accessing the share.

Resolution 5: Use a tool that can traverse deep paths

Many Windows programs expect the maximum path length to be shorter than 255 characters. Therefore, these programs only allocate enough internal storage to handle these typical paths. NTFS does not have this limit and it can hold much longer paths.

You may experience this issue if you create a share at some point in your folder structure that is already fairly deep, and then create a deep structure below that points by using the share. Some tools that operate locally on the folder tree may not be able to traverse the whole tree starting from the root. You may have to use these tools in a special way so that they can traverse the share. (The CreateFile API documentation describes a method to traverse the whole tree in this situation.)

Typically, you can manage files by using the software that creates them. If you have a program that can create files that are deeper than MAX_PATH, you can typically use that same program to delete or manage the files. You can typically delete files that are created on a share by using the same share.

Cause 5: The file name includes a reserved name in the Win32 name space

If the file name includes a reserved name (for example, "lpt1") in the Win32 name space, you may not be able to delete the file. To resolve this issue, use a non-Win32 program to rename the file. You can use a POSIX tool or any other tool that uses the appropriate internal syntax to use the file.

นอกจากนี้ คุณอาจสามารถใช้คำสั่งบางอย่างภายในเพื่อเลี่ยงผ่านการตรวจสอบชื่อ Win32 ที่ถูกสำรองที่ทั่วไปถ้าคุณใช้ไวยากรณ์ที่เฉพาะให้ระบุเส้นทางของแฟ้ม ตัวอย่าง ถ้าคุณใช้การDelคำสั่งใน Windows XP คุณสามารถลบแฟ้มที่ชื่อ "lpt1" ถ้าคุณได้ระบุเส้นทางแบบเต็มของแฟ้ม โดยใช้ไวยากรณ์พิเศษต่อไปนี้:
del \\?\c:\path_to_file\lpt1
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการลบแฟ้มที่ มีชื่อที่สงวนไว้ภายใต้ Windows NT และ Windows 2000 คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
120716วิธีการเอาแฟ้มที่ มีชื่อที่สงวนไว้ใน Windows
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการลบแฟ้มที่ มีชื่อที่สงวนไว้ภายใต้ Windows XP คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
315226วิธีการลบแฟ้มที่ มีชื่อที่สงวนไว้ใน Windows XP
ถ้าคุณต้องเปิดหมายเลขอ้างอิงไปยังแฟ้ม โดยใช้กลไกการ CreateFile Win32 ทั่วไป ชื่อบางแฟ้มจะถูกจองสำหรับลักษณะเดิม DOS อุปกรณ์ สำหรับความเข้ากันได้ย้อนหลัง ชื่อแฟ้มเหล่านี้จะไม่ได้รับอนุญาต และจะไม่สามารถถูกสร้าง โดยใช้การเรียกแฟ้ม Win32 ทั่วไป อย่างไรก็ตาม ปัญหานี้ไม่ได้จำกัดของระบบไฟล์ NTFS

คุณอาจสามารถใช้โปรแกรม Win32 เพื่อเลี่ยงผ่านการตรวจสอบชื่อทั่วไปที่จะดำเนินการเมื่อไฟล์ถูกสร้าง (หรือลบ) ด้วยการใช้เทคนิคเดียวกันที่คุณใช้เพื่อดำเนินกับโฟลเดอร์ที่จะลงกว่า MAX_PATH นอกจากนี้ เครื่องมือ POSIX บางอย่างจะไม่ต้องตรวจสอบชื่อเหล่านี้

สาเหตุที่ 6: ชื่อแฟ้มมีชื่อไม่ถูกต้องในช่องว่างชื่อ Win32

คุณอาจไม่สามารถลบแฟ้มออกถ้าชื่อแฟ้มมีชื่อไม่ถูกต้อง (ตัวอย่างเช่น ชื่อแฟ้มมีช่องว่างต่อท้ายหรือมีจุดต่อท้าย หรือชื่อแฟ้มที่ทำขึ้นพื้นที่เท่านั้น) ได้ เมื่อต้องการแก้ไขปัญหานี้ ใช้เครื่องมือที่ใช้ไวยากรณ์ภายในที่เหมาะสมเพื่อลบแฟ้ม คุณสามารถใช้ได้ "\\หรือไม่\" ไวยากรณ์ของเครื่องมือบางอย่างที่ทำงานกับแฟ้มเหล่านี้ ตัวอย่างเช่น:
ลบ "\\?\c:\path_to_file_that ประกอบด้วย space.txt คำต่อท้าย"
สาเหตุของปัญหานี้จะเหมือนกับการทำให้เกิด 4 อย่างไรก็ตาม ถ้าคุณใช้ไวยากรณ์ Win32 ทั่วไปจะเปิดแฟ้มที่มีช่องว่างต่อท้ายหรือรอบระยะเวลาที่ต่อท้ายชื่อ ช่องว่างหรือรอบระยะเวลาที่ต่อท้ายจะ stripped ก่อนเปิดแฟ้มนั้นจริง ดังนั้น ถ้าคุณมีแฟ้มที่สองในโฟลเดอร์เดียวที่ชื่อว่า "AFile.txt" และ "AFile.txt" (โปรดสังเกตช่องว่างหลังชื่อแฟ้ม), ถ้าคุณพยายามเปิดแฟ้มสอง โดยใช้การเรียก Win32 มาตรฐาน คุณเปิดแฟ้มแรกแทน ในทำนองเดียวกัน ถ้าคุณมีแฟ้มมีชื่อ เป็นเพียง "" (อักขระช่องว่าง) และคุณพยายามเปิด โดยใช้มาตรฐาน Win32 เรียก คุณเปิดโฟลเดอร์หลักของแฟ้มแทน ในสถานการณ์เช่นนี้ ถ้าคุณพยายามที่จะเปลี่ยนการตั้งค่าการรักษาความปลอดภัยในแฟ้มเหล่านี้ คุณอย่างใดอย่างหนึ่งอาจไม่สามารถทำเช่นนี้ หรือคุณสามารถเปลี่ยนแปลงการตั้งค่าในแฟ้มอื่นได้โดยไม่คาดคิดไว้ หากลักษณะการทำงานนี้เกิดขึ้น คุณอาจคิดว่า คุณได้รับอนุญาตให้แฟ้มที่แท้จริง มี ACL ที่จำกัด

ชุดของสาเหตุ

ในบางครั้ง คุณอาจพบชุดของเหล่านี้สาเหตุ ซึ่งสามารถทำให้เกิดการเรียกใช้กระบวนการลบแฟ้มที่ซับซ้อนมาก ตัวอย่างเช่น ถ้าคุณล็อกออนเป็นผู้ดูแลระบบของคอมพิวเตอร์ คุณอาจพบชุดของ 1 สาเหตุ (คุณไม่มีสิทธิ์ในการลบแฟ้มออก) และ 5 สาเหตุ (ชื่อแฟ้มประกอบด้วยอักขระต่อท้ายที่เป็นสาเหตุของการเข้าถึงแฟ้มถูกเปลี่ยนเส้นทางไปยังแฟ้มอื่น หรือไม่มีอยู่) และคุณอาจไม่สามารถลบแฟ้ม ถ้าคุณพยายามที่จะแก้ปัญหาสาเหตุที่ 1 โดยเจ้าของแฟ้ม และการเพิ่มสิทธิ์ คุณยังอาจไม่สามารถลบแฟ้มได้เนื่องจาก ACL แก้ไขในอินเทอร์เฟซสำหรับผู้ใช้ไม่สามารถเข้าถึงแฟ้มที่เหมาะสมได้เนื่องจากสาเหตุ 6 ของได้

ในสถานการณ์เช่นนี้ คุณสามารถใช้โปรแกรมอรรถประโยชน์ Subinacl ด้วย/onlyfileสวิตช์ (อรรถประโยชน์นี้อยู่ใน Kit ทรัพยากร) การเป็นเจ้าของการเปลี่ยนแปลงสิทธิ์บนแฟ้มที่อยู่หรือไม่สามารถเข้าถึง ตัวอย่างเช่น:
/onlyfile subinacl "\\?\c:\path_to_problem_file" /setowner =โดเมน\ผู้ดูแล/ การให้สิทธิ์ =โดเมน\ผู้ดูแล= f
หมายเหตุ:คำสั่งนี้มีหนึ่งบรรทัดคำสั่งได้ถูกห่อสำหรับ readability

การปรับเปลี่ยนบรรทัดคำสั่งนี้ตัวอย่าง C:\path_to_problem_fileแฟ้มที่ประกอบด้วยช่องว่างต่อท้ายดังนั้นการโดเมน\ผู้ดูแลบัญชีเป็นเจ้าของไฟล์ และบัญชีนี้มีแฟ้มควบคุมแบบเต็ม คุณจะสามารถลบแฟ้มนี้ โดยใช้การDelคำสั่ง ด้วยเดียวกัน "\\หรือไม่\" ไวยากรณ์

ข้อมูลอ้างอิง

สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
319368คุณได้รับข้อความแสดงข้อผิดพลาด "การเข้าถึงถูกปฏิเสธ" เมื่อคุณลบโฟลเดอร์จากไดรฟ์ที่กำหนดใช้

คุณสมบัติ

หมายเลขบทความ (Article ID): 320081 - รีวิวครั้งสุดท้าย: 13 มกราคม 2554 - Revision: 3.0
ใช้กับ
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003 Web Edition
  • Microsoft Windows Small Business Server 2003 Premium Edition
  • Microsoft Windows Small Business Server 2003 Standard Edition
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows Advanced Server, Limited Edition
  • Microsoft Windows Datacenter Server Limited Edition
Keywords: 
kbfilesystems kbinfo kbmt KB320081 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:320081

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com