กดตกลงบนกล่องโต้ตอบ cleanmgr


0

ฉันกำลังพยายามล้างข้อมูลบนดิสก์โดยใช้ไฟล์แบตช์โดยไม่มีการโต้ตอบกับผู้ใช้และพบปัญหานี้

หลังจากทำงานcleanmgr.exe /verylowdisk /d cแล้วจะมีหน้าต่างข้อความที่ฉันต้องกดปุ่ม OK ด้วยตนเองเพื่อดำเนินการคำสั่งต่อไปในไฟล์แบตช์
มีวิธีกดปุ่มโดยอัตโนมัติหลังจากกล่องโต้ตอบปรากฏขึ้นหรือไม่
เนื่องจากไดอะล็อกเป็นส่วนหนึ่งcleanmgrและจะไม่ยุติจนกว่าฉันจะคลิกปุ่มตกลงฉันไม่สามารถเรียกใช้ฟังก์ชันอื่นเพื่อกดปุ่มได้



@DavidPostill ทำไมจึงไม่โพสต์เป็นคำตอบ?
Doktor J

@DoktorJ เพราะในตอนนั้นฉันไม่มีเวลา ... และยังไม่ชัดเจนว่าค่าnOP ต้องแก้ปัญหาของเขาอย่างไร
DavidPostill

nเป็นค่าโดยพลการ ตราบใดที่คุณใช้สิ่งเดียวกันnสำหรับ sageset (เมื่อสร้างการตั้งค่าที่คุณต้องการใช้) และ sagerun (เมื่อดำเนินการล้างข้อมูล) คุณควรตั้งค่า
Doktor J

คำตอบ:


0

ล้างข้อมูลบนดิสก์ (Cleanmgr.exe) มีชุดของสวิตช์บรรทัดคำสั่งไม่ดีเอกสารที่มีลายลักษณ์อักษร decently ขึ้นโดยบุคคลที่สามที่นี่ คุณอาจต้องการ/SAGESETและ/SAGERUNสวิตช์

ก่อนอื่นให้เรียกใช้คำสั่งต่อไปนี้ด้วยสิทธิ์ผู้ดูแลระบบ (admin):

cleanmgr.exe /SAGESET:n

(หมายเลขไหนnก็ได้จาก 0-9999 ตัวเลือกของคุณ - ดูหมายเหตุ 1 ที่สิ้นสุด) จะเป็นการเปิดกล่องโต้ตอบที่คล้ายกับกล่องโต้ตอบ "ล้างข้อมูลระบบไฟล์" ของ Disk Cleanup ตั้งค่าตัวเลือกที่คุณต้องการแล้วคลิกตกลง การตั้งค่าของคุณจะถูกบันทึกไว้ในโฟลเดอร์รีจิสตรีต่อไปนี้:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches

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

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

cleanmgr.exe /SAGERUN:n

ที่ไหนnเป็นจำนวนเดียวกับที่คุณใช้กับ/SAGESETสวิทช์ การดำเนินการนี้ควรเรียกใช้ Disk Cleanup ด้วยการตั้งค่าที่ตั้งไว้ล่วงหน้าโดยอัตโนมัติและจะปิดลงหลังจากทำงานเสร็จสิ้น

หมายเหตุ

  1. ไซต์ที่ฉันเชื่อมโยงบอกว่า 0-65535 เช่นเดียวกับบทความMicrosoft TechNetและหน้าการสนับสนุนของ Microsoft นี้แต่ในระบบที่ฉันทดสอบค่าที่สูงกว่า 9999 จะถูกตัดทอนตัวเลขที่มีนัยสำคัญน้อยที่สุดและ65500เขียนทับ6550การทดสอบของฉันจริงๆ

  2. หากคุณต้องการสร้างรีจิสตรีคีย์โดยทางโปรแกรมให้ค้นหาคีย์ย่อยแต่ละรายการVolumeCachesเพื่อหาStateFlagsNNNN(โดยที่ค่าNNNNของคุณจะมีnค่าเท่ากับศูนย์จนถึงสี่หลัก) จากนั้นคุณสามารถสร้างคีย์ใหม่โดยใช้คำสั่งเช่น

    reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Setup Log Files" /v "StateFlags6550" /t REG_DWORD /d 2 /f
    

    ต้องใช้สิทธิ์ระดับสูงแน่นอน ตรวจสอบให้แน่ใจว่าได้รวมค่า StateFlagsNNNN ทั้งหมดแม้ว่าจะเป็นศูนย์เพราะการเว้นคีย์อาจส่งผลให้เกิดพฤติกรรมที่ไม่พึงประสงค์และอาจไม่เป็นที่ต้องการ


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