
我在一家公司擔任 IT 技術員,該公司擁有大約 600 台 Windows 7 筆記型電腦,分佈在 8 個國家/地區。我們使用 Microsoft SCCM 2012 來管理客戶端。
我們的硬碟經常出現一個問題,它們往往會在 c:\windows\temp 目錄中累積數百GB,並且由於這些檔案是由具有管理員權限的進程創建的,因此使用者無法清理它們。
因此,我創建了這個批次來檢查可用磁碟百分比,如果它小於 30%,則繼續進行清理:
@echo off
for /f "usebackq delims== tokens=2" %%x in (`wmic logicaldisk where "DeviceID='C:'" get FreeSpace /format:value`) do set FreeSpace=%%x
for /f "usebackq delims== tokens=2" %%x in (`wmic logicaldisk where "DeviceID='C:'" get Size /format:value`) do set Size=%%x
set FreeMB=%FreeSpace:~0,-6%
set SizeMB=%Size:~0,-6%
set /a Percentage=100 * FreeMB / SizeMB
IF %percentage% LSS 30 del c:\windows\temp\*.* /Q
該腳本將透過 SCCM2012 運行,並且應每月在每個客戶端上執行一次。
雖然這批肯定可以工作,但有人有更優雅的解決方案嗎?
謝謝