วิธีลบไฟล์ชั่วคราวหลังจากรีบูตบน Windows


36

Ubuntu จะลบไฟล์ชั่วคราวโดยค่าเริ่มต้นหลังจากรีบูต แต่ Windows ไม่ จะทำให้ Windows ทำเช่นเดียวกันได้อย่างไร?


IE temp files หรือ windows temp files? (โฟลเดอร์% temp%)
Lorenzo Von Matterhorn

% TEMP% (c: \ users \ user \ appdata \ local \ temp)
mystdeim

4
Linux มีโฟลเดอร์ชั่วคราวสองโฟลเดอร์: / tmpถูกลบเมื่อรีบูท/ var / tmpไม่มี ใน Windows มันยากที่จะตัดสินใจว่าไฟล์ใดที่สามารถลบได้อย่างปลอดภัย ฉันเคยเห็นแอปพลิเคชั่นที่จัดเก็บไฟล์ปฏิบัติการในโฟลเดอร์ชั่วคราว (ไดรเวอร์ IIRC และไม่ไม่ใช่มัลแวร์) การลบเฉพาะไฟล์ชั่วคราวที่ไม่ได้เข้าถึงเป็นเวลา X วันอาจเป็นวิธีที่ดีกว่า
Dennis

1
ทำไมหนึ่งจะทำทุกครั้งที่เริ่มต้น? นั่นเป็นการเสียเวลาเปล่า วางแผนที่จะทำการล้างข้อมูลดังกล่าวสัปดาห์ละครั้งหรือเดือน
Robert Niestroj

คุณอาจพบปัญหาในการลบไฟล์ที่มีนามสกุล "etiqls" ("sqlite" ไปข้างหลัง) เนื่องจากไฟล์เหล่านั้นมักถูกเก็บไว้ในโฟลเดอร์นั้นและถูกล็อค พวกเขาถูกใช้โดย anti-virus และซอฟต์แวร์อื่น ๆ และสามารถข้ามได้
Rod Boev

คำตอบ:


44

แทนที่จะประสบปัญหา (และอันตราย ) ในการทำสิ่งนี้ด้วยตนเองฉันขอแนะนำโปรแกรมเช่นCCleanerซึ่งสามารถทำให้กระบวนการนี้เป็นแบบอัตโนมัติและปล่อยให้ไฟล์ที่สร้างขึ้นภายใน 24 ชั่วโมงล่าสุด

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

นี่คือวิธีการทำให้ CCleaner เริ่มต้นด้วย Windows: ตัวเลือก CCleaner

ตรวจสอบให้แน่ใจว่ามีการเลือกเฉพาะ "ไฟล์ชั่วคราว" และสิ่งอื่น ๆ ที่คุณต้องการล้างในทุกการเริ่มต้น : การเลือก CCleaner

CCleaner ควรลบเฉพาะไฟล์ที่อายุเกินวันโดยค่าเริ่มต้น แต่ไม่ควรตรวจสอบการตั้งค่านี้: ตัวเลือกขั้นสูง CCleaner

หลังจากเสร็จสิ้น CCleaner ควรรันอย่างเงียบ ๆ ในพื้นที่แจ้งเตือนทุกครั้งที่เริ่มต้น ไอคอนจะหายไปเมื่อการทำความสะอาดเสร็จสิ้น ไอคอนถาด CCleaner


CCleaner ติดเชื้อหนึ่งครั้ง นั่นเป็นเหตุผลหนึ่งที่ทำให้การใช้ฟังก์ชั่นบิวท์อินดีกว่าการติดตั้งแอพของบุคคลที่สามสำหรับงานที่ไม่สำคัญเช่นนี้
davidbaumann

10

ฉันไม่คิดว่าจะมีตัวเลือกสำหรับสิ่งนั้น คุณสามารถสร้าง.batไฟล์เพื่อลบไฟล์ชั่วคราวและทำให้มันทำงานเมื่อเริ่มต้น (เมื่อ Windows เริ่ม) ต่อไปนี้ควรทำงาน:

ลบไฟล์ทั้งหมดใน% temp% แต่ไม่ต้องแตะต้องโฟลเดอร์:

@echo off
del /s /f /q "%temp%/*.*"

ลบทุกอย่างใน% temp%:

@echo off
rmdir /s /q %temp%
md %temp%

ลบ.tmpไฟล์ทั้งหมด:

@echo off
del /s /f /q "%temp%/*.tmp"

โปรดทราบว่าบางโปรแกรมใช้ไฟล์ใน%temp%การทำงานดังนั้นคุณต้องยอมรับความเสี่ยงด้วยตนเอง

หากต้องการทำให้การ.batรันบนเริ่มทำงานทำตามบทช่วยสอนนี้จาก Microsoft หรือหนึ่งในโปรแกรมออนไลน์อื่น ๆ ...


8

ตามความเป็นจริงมันเสียเวลาประมวลผลเช่นการล้างข้อมูลทุกครั้งที่เริ่มต้น

ให้เพิ่มงานที่กำหนดเวลาไว้แทนซึ่งจะทริกเกอร์สัปดาห์ละครั้งเพื่อดำเนินการแบตช์ที่อยู่ในไดเรกทอรีเดียวกันของccleanerซึ่งประกอบด้วย:

ccleaner /AUTO

การดำเนินการนี้จะทำการสแกนและล้างอัตโนมัติโดยไม่ต้องแจ้งให้ทุกช่องทำเครื่องหมายถูกบน ccleaner และ WILL จะรวมไดเรกทอรีที่ผู้ใช้ระบุ (ไม่ทำการแก้ไขรีจิสทรี)

เคล็ดลับพิเศษ: ในคุณสมบัติของแบทช์คุณอาจเลือกให้มันย่อขนาดให้เล็กลง การสแกนจะค่อนข้างเร็วและคุณไม่เคยเห็นแม้แต่หน้าต่างย่อเล็กสุด


1
มีหลักฐานว่านี่เป็นเรื่องจริงหรือไม่? oO
Smithers

1

ไฟล์ชุดของฉันที่จะลบไฟล์ชั่วคราวที่เก่ากว่าวัน

IF EXIST %TEMP% ( FORFILES /P %TEMP% /D -01 /C "cmd /c IF @isdir==TRUE (rd /s /q @path) else (del /q @path)" )

1
ยังไม่มีการ DOS เป็นเวลานาน
davidbaumann

0

cleanmgr

คุณสามารถใช้ฟังก์ชัน builtin Windows เพื่อล้างไฟล์ชั่วคราวทั้งหมด (และอีกมากมาย)

วิ่งครั้งเดียว

CLEANMGR /sageset

ตอนนี้เลือกสิ่งที่คุณต้องการทำความสะอาด

ตอนนี้ด้วยการวิ่ง

CLEANMGR /sagerun

มันจะเรียกใช้งานการล้างข้อมูลทั้งหมดตามที่เลือก

ดูข้อมูลเพิ่มเติมในฐานความรู้ของไมโครซอฟท์

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