รุ่นที่ลบไฟล์ Windows ชั่วคราว (ระบบเบราว์เซอร์แคช ฯลฯ ) สำหรับผู้ใช้ทั้งหมด


2

มีใครในชุมชนนี้ที่ใช้เทคนิคเฉพาะเพื่อให้ได้ชุดการลบข้อมูลชั่วคราว (เช่นโฟลเดอร์ชั่วคราวของ Windows, แคชของเบราว์เซอร์ ฯลฯ ) สำหรับผู้ใช้ทั้งหมดหรือไม่

ส่วนที่ยุ่งยากดูเหมือนจะเป็น:

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

ไฟล์สคริปต์ / แบทช์อาจเป็นวิธีแก้ปัญหา แต่จะต้องมีการตรวจสอบอย่างต่อเนื่องสำหรับการอัปเดตแต่ละผลิตภัณฑ์เพื่อหลีกเลี่ยงการลบไฟล์ / โครงสร้างโฟลเดอร์เก่า ...

ความคิดของคุณ?

คำตอบ:


0

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

@echo off
Rem Temp File Purging Tool v1.2.0
Rem Written by Twisty.  Created 1/19/2011.  Modified 6/28/2011.
Rem
Rem This script deletes temp files in locations where malware likes to write its initial
Rem files for infection and also where standard users have write permissions.
Rem
Rem This tool isn't likely to be as helpful to clean systems on which users run with 
Rem Admin permissions.  If you let your users run with Admin permissions you by extension
Rem give much of the malware on the Internet permission to do as it pleases on your workstations.



    Rem Identify version of Windows


    SET WinVer=Unknown

    VER | FINDSTR /IL "5.1." > NUL
    IF %ERRORLEVEL% EQU 0 SET WinVer=XP

    rem 5.2 is actually Server 2003, but for our purposes it's the same as XP
    VER | FINDSTR /IL "5.2." > NUL
    IF %ERRORLEVEL% EQU 0 SET WinVer=XP

    VER | FINDSTR /IL "6.0." > NUL
    IF %ERRORLEVEL% EQU 0 SET WinVer=VISTA

    rem 6.1 is actually Windows 7, but for our purposes it's the same as Vista
    VER | FINDSTR /IL "6.1." > NUL
    IF %ERRORLEVEL% EQU 0 SET WinVer=VISTA


    rem Ask user the version if we cannot automatically determine
    If Not "%WinVer%" EQU "Unknown" Goto :SetUserProfPath

    Set /P Response="Select OS  [X]P, [V]ista/7: "
    If /i "%Response%" EQU "X" Set WinVer=XP
    If /i "%Response%" EQU "V" Set WinVer=VISTA
    If "%WinVer%" EQU "" Echo Invalid response. Exiting.&goto :eof


:SetUserProfPath
    If %WinVer% EQU XP (
        Set UserProfileRootPath=C:\Documents and Settings
    ) Else (
        Set UserProfileRootPath=C:\Users
    )

    Call :RemoveSubfoldersAndFiles %SystemRoot%\Temp

    Rem Walk through each user profile folder
    Rem This convoluted command is necessary to ensure we process hidden and system folders too
    for /f "delims=" %%D in ('dir /ad /b "%UserProfileRootPath%"') DO Call :ProcessProfileFolder %UserProfileRootPath%\%%D

    Echo.
    Echo Finished! Press a key to exit...
    Pause>Nul

goto :EOF


:ProcessProfileFolder

    Set FolderName=%*

    Rem Leave if it's not a user profile folder
    If Not Exist "%FolderName%\ntuser.dat" goto :EOF

    Rem Leave it's a profile folder on the exclude list
    If /I "%FolderName%" EQU "%UserProfileRootPath%\Default" goto :EOF
    If /I "%FolderName%" EQU "%UserProfileRootPath%\Default User" goto :EOF
    If /I "%FolderName%" EQU "%UserProfileRootPath%\NetworkService" goto :EOF
    If /I "%FolderName%" EQU "%UserProfileRootPath%\LocalService" goto :EOF

    Set UserProfilePath=%FolderName%

    Rem Clean up these folders
    If %WinVer% EQU XP (
        Call :RemoveSubfoldersAndFiles %UserProfilePath%\Local Settings\Temp
        Call :RemoveSubfoldersAndFiles %UserProfilePath%\Local Settings\Temporary Internet Files
        Call :RemoveSubfoldersAndFiles %UserProfilePath%\Application Data\Sun\Java\Deployment\cache

    ) Else (
        Call :RemoveSubfoldersAndFiles %UserProfilePath%\AppData\Local\Temp
        Call :RemoveSubfoldersAndFiles %UserProfilePath%\AppData\LocalLow\Temp
        Call :RemoveSubfoldersAndFiles %UserProfilePath%\AppData\LocalLow\Sun\Java\Deployment\cache
        Call :RemoveSubfoldersAndFiles %UserProfilePath%\AppData\Local\Microsoft\Windows\Temporary Internet Files
    )


goto :EOF


:RemoveSubfoldersAndFiles

    Set FolderRootPath=%*

    Rem Confirm target folder exists
    If Not Exist "%FolderRootPath%" Goto :EOF

    Rem Make the folder to clean current and confirm it exists...
    CD /D %FolderRootPath%

    Rem Confirm we switched directories
    If /I "%CD%" NEQ "%FolderRootPath%" Goto :EOF

    Rem ...so that this command cannot delete the folder, only everything in it
    Echo Purging %CD%
    RD /S /Q . >>nul 2>>&1

goto :EOF

การขยายฟังก์ชั่นของสคริปต์

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

เพื่อล้างโฟลเดอร์เพิ่มเติมที่พบในโปรไฟล์ผู้ใช้แต่ละคน

ในส่วนRem Clean up these foldersเพิ่มการเรียกเพิ่มเติมไปที่รูทีนย่อย: RemoveSubfoldersAndFiles ตัวอย่างเช่นหากต้องการลบทุกอย่างใน\AppData\Local\Microsoft\Windows\Temporary Internet Filesโฟลเดอร์ของผู้ใช้แต่ละคนให้เพิ่มบรรทัด:

Call :RemoveSubfoldersAndFiles %UserProfilePath%\AppData\Local\Microsoft\Windows\Temporary Internet Files

สังเกตการใช้%UserProfilePath%ตัวแปรที่กำหนดโดยสคริปต์แทน%USERPROFILE%ตัวแปรทั่วไป เวอร์ชันของสคริปต์ได้รับการอัพเดตแบบไดนามิกเมื่อสคริปต์ทำซ้ำผ่านโปรไฟล์ผู้ใช้แต่ละโปรไฟล์บนเครื่อง

เพื่อล้างโฟลเดอร์ที่พบนอกโปรไฟล์ผู้ใช้

ใน:SetUserProfPathรูทีนย่อยให้เพิ่มการเรียกไปยัง: RemoveSubfoldersAndFilesอีกครั้ง ตัวอย่างเช่น:

Call :RemoveSubfoldersAndFiles C:\Temp

น่าสนใจมาก! คุณรับมือกับการอัพเดตโครงสร้างโฟลเดอร์อย่างไร
Riccardo

@Riccardo ฉันได้อัปเดตคำตอบเพื่อตอบคำถามของคุณแล้ว
เลียนแบบ Twisty

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