ลบ windows / ไฟล์โปรแกรมเก่าจากไดรฟ์ที่สองหรือไม่


23

พีซีของฉันมีไดรฟ์พิเศษมากมาย ส่วนใหญ่ประกอบด้วย Windows และ Program Files รุ่นเก่า พีซีของฉันเรียกว่า "PC" และผู้ดูแลระบบของฉันชื่อ "Tim" ฉันได้มอบหมายความเป็นเจ้าของของไดรฟ์ที่สองเหล่านี้ให้กับผู้ใช้ "PC \ Tim" และยังให้การควบคุมเต็มรูปแบบแก่ผู้ใช้ "PC \ Tim" ในไดรฟ์ ฉันลองลบโฟลเดอร์ Windows หรือ Program Files ในไดรฟ์เหล่านี้แล้วรับข้อความ

"คุณต้องได้รับอนุญาตจาก PC \ Tim เพื่อทำการเปลี่ยนแปลงในโฟลเดอร์นี้"

เจ้าของปัจจุบันของโฟลเดอร์เหล่านี้แสดงเป็น "Tim (PC \ Tim)" สิทธิ์ที่มีประสิทธิภาพสำหรับโฟลเดอร์เหล่านี้แสดงรายการผู้ใช้ที่มีทุกสิทธิ์

"คำตอบ" ที่ไร้สาระในชุมชนไมโครซอฟท์แน่นอนนำเสนอสิ่งต่าง ๆ เช่น "ใช้การล้างข้อมูลบนดิสก์" (ซึ่งเป็นคำตอบที่ไม่ได้รับการศึกษาอย่างโจ่งแจ้ง) หรือ "เพียงฟอร์แมตไดรฟ์ใหม่" (การฟอร์แมตเป็นการหลีกเลี่ยงปัญหา

ขั้นตอนที่ถูกต้องในการลบไฟล์เก่าเหล่านี้คืออะไร?

คำตอบ:


55
  1. เปิดพร้อมรับคำสั่งด้วยสิทธิ์ระดับผู้ดูแล
  2. เรียกใช้คำสั่งต่อไปนี้หนึ่งครั้ง (เปลี่ยน "Z: \ Program Files" ด้วยโฟลเดอร์ที่คุณต้องการลบ):

    takeown /F "Z:\Program Files" /A /R /D Y
    icacls "Z:\Program Files" /T /grant administrators:F
    rd /s /q "Z:\Program Files"
    

หมายเหตุ 1 - ภาษา OS: takeown ... /D Yอินพุต Y หมายถึง 'ใช่' และจะแตกต่างกันไปขึ้นอยู่กับภาษาของระบบปฏิบัติการ โฟลเดอร์โปรแกรมไฟล์อาจตั้งชื่อต่างกันเช่นกัน

หมายเหตุ 2 - Windows เวอร์ชันที่เก่ากว่า: หากicaclsและrdไม่ได้รับการสนับสนุนให้ลองใช้caclsและrmdirแทน

คำอธิบายและเอกสาร:

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

takeown takeown เอกสาร ของผู้ดูแลระบบกู้คืนการเข้าถึงไดเรกทอรีและเนื้อหาของมันที่ก่อนหน้านี้ได้รับการปฏิเสธโดยการทำให้กลุ่มผู้ดูแลเจ้าของ / F [directory]ระบุว่าไดเรกทอรีใด/ Aให้ความเป็นเจ้าของแก่กลุ่มผู้ดูแลระบบ/ Rทำหน้าที่เป็นการดำเนินการแบบเรียกซ้ำในไดเรกทอรีไฟล์และไดเรกทอรีย่อยทั้งหมด/ Dจะไม่แสดงพร้อมท์การยืนยันเมื่อผู้ใช้ไม่มีสิทธิ์ "List Folder" ตัวเลือกYดังต่อไปนี้ซึ่งเป็นเจ้าของไดเรกทอรี (หมายเหตุ: ตัวเลือก Y อาจแตกต่างกันไปขึ้นอยู่กับภาษาของระบบปฏิบัติการ)

icacls เอกสาร icacls ให้ สิทธิ์กลุ่ม DAC แก่ผู้ดูแลระบบในการเข้าถึงไดเรกทอรี [ไดเรกทอรี]ระบุว่าไดเรกทอรีใด/ Tทำการดำเนินการกับไฟล์ที่ระบุทั้งหมดในไดเรกทอรีและไดเรกทอรีย่อย/ ให้สิทธิ์การเข้าถึงของผู้ใช้ที่ระบุด้วย: Fซึ่งให้สิทธิ์การเข้าถึงแบบเต็ม (หมายเหตุ: ผู้ดูแลระบบชื่อกลุ่มอาจแตกต่างกันไปขึ้นอยู่กับภาษาของระบบปฏิบัติการ)

เอกสาร RD ลบไดเรกทอรีที่มีทั้งหมดไดเรกทอรีย่อยและไฟล์ / sลบไดเรกทอรีที่ระบุและไดเรกทอรีย่อยรวมถึงไฟล์ทั้งหมด/ qระบุโหมดเงียบเพื่อให้คุณไม่ได้รับการพร้อมท์สำหรับการยืนยัน[ไดเรกทอรี]ระบุไดเรกทอรีที่จะลบ


6
สำหรับWindowsโฟลเดอร์เพียงแค่เปลี่ยนชื่อเป็นWindows.oldและด้วยเครื่องมือ / โปรแกรมล้างข้อมูลบนดิสก์คุณสามารถลบมันได้อย่างง่ายดาย
SuperDJ

2
CaclsIcaclsจะเลิกตอนนี้ใช้โปรด
Tharindu Sathischandra

1
@Thindindu ขอบคุณฉันปรับปรุงคำตอบกับ icacls ตอนนี้ โปรดตรวจสอบว่ามัน
ดูถูก

1
rmdirได้แล้วตอนนี้ rd
RaisingAgent

@RaisingAgent ขอบคุณสำหรับ headup ฉันได้อัปเดตโค้ด snippit ด้วย rd แทน rmdir
Arne H. Bitubekk

22

สิ่งที่ทำงานสำหรับฉันคือรุ่นที่เรียบง่ายของข้อเสนอแนะนี้ :

  1. เปลี่ยนชื่อWindowsโฟลเดอร์เป็นWindows.old
  2. เรียกใช้ Disk Cleanup จากเมนู Start
  3. เลือกไดรฟ์ที่มีWindows.oldโฟลเดอร์
  4. ก่อนหน้า "การติดตั้ง Windows" จากนั้นคลิกที่ตกลง

สิ่งนี้ใช้ได้กับโฟลเดอร์ "Windows" คำสั่ง 3 รายการของ Arne HD ใช้งานได้กับโฟลเดอร์อื่นเช่น "Program Files" และ ProgramData
gus

ฉลาด! และง่ายมาก ทำงานเหมือนจับใจ
oneavi

1
มันทำงานกับโฟลเดอร์ใด ๆ ถ้าคุณเปลี่ยนชื่อเป็น Windows.old น่ากลัว
AdnanG

นี่เป็นวิธีที่ดีที่สุดฉันลอง 3 วิธีที่อธิบายไว้ที่นี่และวิธีนี้ดีที่สุด
RaRdEvA

3

สิ่งนี้ทำงานได้ใน Windows 10 SPANISH:

set del_folder=F:\Program Files
takeown /f "%del_folder%" /r /d S
icacls "%del_folder%" /grant administradores:F /T
rmdir /s /q "%del_folder%"

ในtakeownคำสั่งคุณต้องใช้ "S" ในตอนท้ายสำหรับ "Sí" ในภาษาสเปนแทนที่จะเป็น "Y" สำหรับ "ใช่" (อังกฤษ)

สำหรับicaclsคำสั่งคุณต้องใช้ "administradores" (สเปน) และไม่ใช่ "administrator" (ภาษาอังกฤษ)


1

เปลี่ยนชื่อไฟล์โปรแกรมอย่างง่ายเป็น Windows.old และเรียกใช้ disk clean เพื่อล้างไฟล์ระบบ กลอุบายเดียวกันกับโฟลเดอร์ใดก็ได้ที่คุณไม่สามารถลบ


1

หมายเหตุ: ตอนนี้ที่ฉันคิดเกี่ยวกับมันคุณควรจะสามารถเริ่มต้นจากขั้นตอนที่ 4 คุณเพียงแค่ต้องกดปุ่ม "เปลี่ยนสิทธิ์" เพื่อเข้าถึง ฉันจะทดสอบ แต่ฉันออกจากไดเรกทอรีที่จะลบ

ใน Windows 10 (อาจใช้ได้กับ Windows 7 และ 8 เช่นกัน):

  1. คลิกขวาที่โฟลเดอร์ -> คุณสมบัติ -> ความปลอดภัย -> ขั้นสูง
  2. คลิกที่เปลี่ยนถัดจากเจ้าของ (ที่ด้านบน) ป้อนชื่อผู้ใช้ของคุณในช่องและกดตรวจสอบชื่อ (ควรแปลงเป็นรูปแบบ MACHINENAME \ USERNAME)
  3. กดตกลงตกลงตกลงเพื่อออกจากตัวเลือกความปลอดภัย

ตอนนี้คุณควรเป็นเจ้าของไดเรกทอรี

  1. คลิกขวาที่โฟลเดอร์ -> คุณสมบัติ -> ความปลอดภัย -> ขั้นสูง (อีกครั้ง.)
  2. ค้นหา "ผู้ใช้" ในรายการสิทธิ์ คลิกที่มันเลือกแก้ไขและเลือกการควบคุมเต็มรูปแบบ
  3. ที่ด้านล่างให้เลือก "แทนที่รายการการอนุญาตสำหรับเด็กทั้งหมด ... "
  4. กดตกลงจากนั้นเลือกใช่ในกล่องคำเตือน รอให้คอมพิวเตอร์ใช้การอนุญาตใหม่

ตอนนี้คุณควรมีสิทธิ์ที่จำเป็นในการลบไฟล์ ทำเช่นนั้น (ทดสอบทั้งในโฟลเดอร์ Program Files และ Windows.old)


ผ่านการทดสอบใช้งานได้! ขอบคุณ!
GoTo

0

(สำหรับโฟลเดอร์ windows) ถ้าทำได้ให้เปลี่ยนชื่อเป็น windows.old จากนั้นเปิดการล้างข้อมูลบนดิสก์เลือกไดรฟ์แล้วคลิกตกลงหลังจากนั้นคลิก 'ล้างไฟล์ระบบ' และจะลบโฟลเดอร์

ตอนนี้ถ้าคุณไม่สามารถเปลี่ยนชื่อโฟลเดอร์ดาวน์โหลดตัวปลดล็อคเปิดและเลือกโฟลเดอร์จากนั้นคลิกเปลี่ยนชื่อและเปลี่ยนชื่อเป็น Windows.old จากนั้นเรียกใช้การล้างข้อมูลบนดิสก์ : D


-2

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


1
ฉันคิดว่าคำถามนี้เกี่ยวกับการอนุญาต / การเป็นเจ้าของไฟล์มากกว่าแค่การลบไฟล์ หากมีความเป็นไปได้ที่จะทำงานให้สำเร็จโดยใช้เครื่องมือ Windows เหตุใดจึงควรมีใครดาวน์โหลดว่า 500MB ขึ้นไปและสร้าง USB ที่สามารถบู๊ตได้? ฉันก็ไม่แน่ใจเหมือนกัน 100% ว่าลีนุกซ์ทุกตัวที่ "เลือก" สามารถจัดการ NTFS ทุกเวอร์ชันได้อย่างถูกต้อง NTFS ไม่ใช่ระบบไฟล์ Linux คุณจะใช้ Windows เพื่อจัดการไฟล์บนระบบไฟล์ Linux ext4 หรือไม่
snayob

เคอร์เนล Linux สามารถรองรับระบบไฟล์ได้มากกว่า 50 ระบบ นอกจากนี้มันเป็นวิธีที่ง่ายที่สุดในการทำเช่นนั้น อาจไม่ใช่สิ่งที่ผู้ใช้รายนี้มองหา แต่มันง่าย
Steven Perszyk

1
ที่ง่ายที่สุด? กำลังดาวน์โหลด 1GB และเบิร์นลงใน USB? มันง่ายกว่าการออกคำสั่ง 3 คำสั่งจริงๆหรือ ดูเหมือนว่าคุณจะเป็นกูรูลินุกซ์ที่แท้จริง;)
38816 snayob

1
ฉันไม่แน่ใจว่า "ความจริง" แบบสุ่มและเป็นเท็จเกี่ยวข้องกับการสนทนาในมืออย่างไร แต่ขอบคุณสำหรับการให้ความกระจ่างแก่ฉัน หากคุณต้องการพูดคุยส่วนตัวเกี่ยวกับสาเหตุที่เลือกระบบ GNU / Linux ฉันยินดีที่จะมีการสนทนาที่อื่น นอกเหนือจากนั้นการสนทนานี้กำลังปิดหัวข้อชะมัด
สตีเวน Perszyk

1
ไม่มีความสนใจในการพูดคุย "วิธีที่ง่ายที่สุดที่จะทำ" คำสั่งของคุณกำลังตะโกนความจริงเท็จอย่างสมบูรณ์
snayob

-2

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

ไชโย


เดาไม่ได้รับการศึกษา ระบบไฟล์ NTFS ใช้ SID ของบัญชีผู้ใช้ร่วมกับรายการควบคุมการเข้าถึงไม่ใช่ชื่อที่แสดงของบัญชีผู้ใช้

-2

สมมติว่าต้องทำการลบในไดรฟ์ที่สอง: สิ่งที่ได้ผลสำหรับฉันคือ:

  1. ติดตั้ง Lockhunter (แอพพลิเคชั่นฟรีเพื่อปลดล็อคและเปลี่ยนชื่อไฟล์ที่ถูกล็อค) ใช้งาน Lockhunter ด้วยสิทธิ์ของผู้ดูแลระบบ

  2. เปลี่ยนชื่อโฟลเดอร์ที่จะลบเป็น "Windows.old" (คุณจะยังคงอ่านชื่อเดิมหลังจากเปลี่ยนชื่อ แต่ไม่ต้องกังวลว่าการเปลี่ยนชื่อจะได้รับการยืนยันโดย Lockhunter ในหน้าต่างหลัก)

  3. เรียกใช้ "การล้างข้อมูลบนดิสก์" ด้วยสิทธิ์ระดับผู้ดูแล

  4. เลือกโฟลเดอร์ที่จะลบที่จะปรากฏพร้อมชื่อ "Windows.old" ใน Disk Cleanup และลบทิ้ง

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