Cálculo del tamaño del lote de archivos eliminados
Frecuentes
Visto 1,436 equipos
0
Si tengo el siguiente comando para eliminar algunos archivos, necesito una forma de mostrar el tamaño total de todos los archivos antes de eliminarlos, ¿es posible y cómo lo haría? La razón por la que necesito esto es porque estoy creando un programa que puede optimizar su PC y esta es una pequeña sección del bit de eliminación. Puedo usar cualquier lenguaje de programación que se pueda ejecutar y usar de forma nativa en Windows y se pueda compilar en un exe.
EDIT: Se puede hacer con VBS pero preferiblemente por lotes.
Aquí está el script de eliminación completo:
del \*.tmp /s /f /q >> Log.txt
del \*.temp /s /f /q >> Log.txt
del \Thumbs.db /s /f /q >> Log.txt
erase /s/q/f "C:\$RECYCLE.BIN\*">nul
ipconfig /flushdns >> Log.txt
SET RW="%systemdrive%\Program Files (x86)\Steam\steamapps\common\railworks" >> Log.txt
DEL /S "%RW%\Blueprints.pak*" >> Log.txt
SET RW="%systemdrive%\Program Files (x64)\Steam\steamapps\common\railworks" >> Log.txt
DEL /S "%RW%\Blueprints.pak*" >> Log.txt
net stop dnscache >> Log.txt
ipconfig /flushdns >> Log.txt
net start dnscache >> Log.txt
set wowdir="%systemdrive%\Program Files (x86)\World of Warcraft\" >> Log.txt
set creature_file=%wowdir%"Cache\WDB\enUS\creaturecache.wdb" >> Log.txt
set npc_file=%wowdir%"Cache\WDB\enUS\npccache.wdb >> Log.txt
set launcher_file=%wowdir%"World of Warcraft Launcher.exe" >> Log.txt
set wowdir="%systemdrive%\Program Files (x64)\World of Warcraft\" >> Log.txt
set creature_file=%wowdir%"Cache\WDB\enUS\creaturecache.wdb" >> Log.txt
set npc_file=%wowdir%"Cache\WDB\enUS\npccache.wdb >> Log.txt
set launcher_file=%wowdir%"World of Warcraft Launcher.exe" >> Log.txt
del /q "%creature_file%" >> Log.txt
del /q "%npc_file%" >> Log.txt
cd “%APPDATA%\Microsoft\Web Server Extensions\Cache” >> Log.txt
del *.web /S /Q “%APPDATA%\Microsoft\Web Server Extensions\Cache” >> Log.txt
cd “%USERPROFILE%\AppData\Local\Microsoft\WebsiteCache\” >> Log.txt
rmdir /S /Q “%USERPROFILE%\AppData\Local\Microsoft\WebsiteCache\.” >> Log.txt
mkdir “%USERPROFILE%\AppData\Local\Microsoft\WebsiteCache” >> Log.txt
dir “%APPDATA%\Microsoft\Web Server Extensions\Cache” >> Log.txt
dir “%USERPROFILE%\AppData\Local\Microsoft\WebsiteCache” >> Log.txt
del /f /q %windir%\Prefetch\*.* >> Log.txt
del /f /q "%userprofile%\local settings\temp\*.*" >> Log.txt
del /f /q "%userprofile%\local settings\temporary internet files\*.*" >> Log.txt
FOR /D /R %TEMP% %%x IN (gwt*) DO RMDIR /S /Q "%%x" >> Log.txt
FOR /D /R %TEMP% %%x IN (*) DO RMDIR /S /Q "%%x" >> Log.txt
DEL "%TEMP%\*" /F /Q >> Log.txt
CD\ >> Log.txt
CD %Windir% >> Log.txt
CD SoftwareDistribution >> Log.txt
DEL /F /S /Q Download >> Log.txt
CD /d %systemdrive%\windows\system32
taskkill /F /IM "chrome.exe">nul 2>&1 >> Log.txt
set ChromeDataDir=%systemdrive%\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data\Default >> Log.txt
set ChromeCache=%ChromeDataDir%\Cache>nul
del /q /s /f "%ChromeCache%\*.*">nul
del /q /f "%ChromeDataDir%\*Cookies*.*">nul
del /q /f "%ChromeDataDir%\*History*.*">nul
set ChromeDataDir=%systemdrive%\Users\%USERNAME%\Local Settings\Application Data\Google\Chrome\User Data\Default >> Log.txt
set ChromeCache=%ChromeDataDir%\Cache>nul
del /q /s /f "%ChromeCache%\*.*">nul
del /q /f "%ChromeDataDir%\*Cookies*.*">nul
del /q /f "%ChromeDataDir%\*History*.*">nul
set ChromeDir=%systemdrive%\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data >> Log.txt
del /q /s /f "%ChromeDir%" >> Log.txt
rd /s /q "%ChromeDir%" >> Log.txt
set DataDir=%systemdrive%\Users\%USERNAME%\AppData\Local\Mozilla\Firefox\Profiles >> Log.txt
del /q /s /f "%DataDir%" >> Log.txt
rd /s /q "%DataDir%" >> Log.txt
for /d %%x in (%systemdrive%\Users\%USERNAME%\AppData\Roaming\Mozilla\Firefox\Profiles\*) do del /q /s /f %%x\*sqlite >> Log.txt
set DataDir=%systemdrive%\Users\%USERNAME%\AppData\Local\Opera\Opera >> Log.txt
set DataDir2=%systemdrive%\Users\%USERNAME%\AppData\Roaming\Opera\Opera >> Log.txt
del /q /s /f "%DataDir%" >> Log.txt
rd /s /q "%DataDir%" >> Log.txt
del /q /s /f "%DataDir2%" >> Log.txt
rd /s /q "%DataDir2%" >> Log.txt
set DataDir=%systemdrive%\Users\%USERNAME%\AppData\Local\Applec~1\Safari >> Log.txt
set DataDir2=%systemdrive%\Users\%USERNAME%\AppData\Roaming\Applec~1\Safari >> Log.txt
del /q /s /f "%DataDir%\History" >> Log.txt
rd /s /q "%DataDir%\History" >> Log.txt
del /q /s /f "%DataDir%\Cache.db" >> Log.txt
del /q /s /f "%DataDir%\WebpageIcons.db" >> Log.txt
del /q /s /f "%DataDir2%" >> Log.txt
rd /s /q "%DataDir2%" >> Log.txt
set DataDir=%systemdrive%\Users\%USERNAME%\AppData\Local\Microsoft\Intern~1 >> Log.txt
del /q /s /f "%DataDir%" >> Log.txt
rd /s /q "%DataDir%" >> Log.txt
set History=%systemdrive%\Users\%USERNAME%\AppData\Local\Microsoft\Windows\History >> Log.txt
del /q /s /f "%History%" >> Log.txt
rd /s /q "%History%" >> Log.txt
set IETemp=%systemdrive%\Users\%USERNAME%\AppData\Local\Microsoft\Windows\Tempor~1 >> Log.txt
del /q /s /f "%IETemp%" >> Log.txt
rd /s /q "%IETemp%" >> Log.txt
set Cookies=%systemdrive%\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Cookies >> Log.txt
del /q /s /f "%Cookies%" >> Log.txt
rd /s /q "%Cookies%" >> Log.txt
set FlashCookies=%systemdrive%\Users\%USERNAME%\AppData\Roaming\Macromedia\Flashp~1 >> Log.txt
del /q /s /f "%FlashCookies%" >> Log.txt
rd /s /q "%FlashCookies%" >> Log.txt
CD /d %systemdrive%\windows\system32 >> Log.txt
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255 >> Log.txt
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1 >> Log.txt
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8 >> Log.txt
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 16 >> Log.txt
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 32 >> Log.txt
taskkill /F /IM "chrome.exe">nul
set ChromeDataDir=%systemdrive%\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data\Default >> Log.txt
set ChromeCache=%ChromeDataDir%\Cache>nul
del /q /s /f "%ChromeCache%\*.*">nul
del /q /f "%ChromeDataDir%\*History*.*">nul
set ChromeDataDir=%systemdrive%\Users\%USERNAME%\Local Settings\Application Data\Google\Chrome\User Data\Default >> Log.txt
set ChromeCache=%ChromeDataDir%\Cache>nul
del /q /s /f "%ChromeCache%\*.*">nul
del /q /f "%ChromeDataDir%\*History*.*">nul
CD /d %systemdrive%\windows\system32 >> Log.txt
taskkill /F /IM "chrome.exe">nul
set ChromeDataDir=%systemdrive%\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data\Default >> Log.txt
set ChromeCache=%ChromeDataDir%\Cache>nul
del /q /s /f "%ChromeCache%\*.*">nul
del /q /f "%ChromeDataDir%\*History*.*">nul
set ChromeDataDir=%systemdrive%\Users\%USERNAME%\Local Settings\Application Data\Google\Chrome\User Data\Default >> Log.txt
set ChromeCache=%ChromeDataDir%\Cache>nul
del /q /s /f "%ChromeCache%\*.*">nul
del /q /f "%ChromeDataDir%\*History*.*">nul
CD /d %systemdrive%\windows\system32 >> Log.txt
taskkill /F /IM "chrome.exe">nul
set ChromeDataDir=%systemdrive%\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data\Default >> Log.txt
set ChromeCache=%ChromeDataDir%\Cache>nul
del /q /s /f "%ChromeCache%\*.*">nul
del /q /f "%ChromeDataDir%\*History*.*">nul
set ChromeDataDir=%systemdrive%\Users\%USERNAME%\Local Settings\Application Data\Google\Chrome\User Data\Default >> Log.txt
set ChromeCache=%ChromeDataDir%\Cache>nul
del /s /f /q "%userprofile%\AppData\Local\Apple Computer\Safari\Cache.db" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Apple Computer\Safari\Webpage Previews" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Apple Computer\Safari\LocalStorage" >> Log.txt
del /s /f /q "%appdata%\Microsoft\Windows\Recent" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Google\CrashReports" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Microsoft\Media Player\Art Cache\LocalMLS" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Microsoft\Media Player\lastplayed.wpl" >> Log.txt
del /s /f /q "%appdata%\Microsoft\Office\Recent" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\IconCache.db" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\GDIPFONTCACHEV1.DAT" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Opera\Opera" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Microsoft Corporation\Windows 7 Upgrade Advisor" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Microsoft\Windows Mail\Backup" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_32.db" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_96.db" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_256.db" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_1024.db" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_idx.db" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_sr.db" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Microsoft\Windows\Caches" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Microsoft\Windows\Burn\Burn" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Microsoft\Media Player\Transcoded Files Cache" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Microsoft\Device Metadata\dmrccache\downloads" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Diagnostics" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\CometNetwork\CometBird\Profiles\u4k8vhhn.default\startupCache" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\CometNetwork\CometBird\Profiles\u4k8vhhn.default\Cache" >> Log.txt
del /s /f /q "%windir%\setuplog.txt" >> Log.txt
del /s /f /q "%userprofile%\AppData\Roaming\FixCleaner\Logs\" >> Log.txt
del /s /f /q "%windir%\logs\" >> Log.txt
del /s /f /q "%windir%\SoftwareDistribution\DataStore\Logs\" >> Log.txt
del /s /f /q "%Programdata%\AVAST Software\Persistent Data\Avast\Logs\" >> Log.txt
del /s /f /q "%appdata%\.minecraft\crash-reports\" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Microsoft\Windows\WindowsUpdate.log" >> Log.txt
del /s /f /q "%windir%\winsxs\x86_microsoft-windows-com-dtc-runtime_31bf3856ad364e35_6.1.7600.16385_none_19295908c15690f3\MSDTC.LOG" >> Log.txt
del /s /f /q "%windir%\System32\SMI\Store\Machine\SCHEMA.DAT.LOG2" >> Log.txt
del /s /f /q "%windir%\system32\LocalGroupAdminAdd.log" >> Log.txt
del /s /f /q "%windir%\system32\Network_LLU.log" >> Log.txt
del /s /f /q "%windir%\system32\Local_LLU.log" >> Log.txt
del /s /f /q "%windir%\system32\InstallPackage_ETW.Log" >> Log.txt
del /s /f /q "%windir%\inf\setupapi.offline.log" >> Log.txt
del /s /f /q "%windir%\Panther\UnattendGCsetuperr.log" >> Log.txt
del /s /f /q "%windir%\System32\sysprep\Panther\IE\setuperr.log" >> Log.txt
del /s /f /q "%windir%\System32\sysprep\Panther\IE\setupact.log" >> Log.txt
del /s /f /q "%windir%\Panther\DDACLSys.log" >> Log.txt
del /s /f /q "%windir%\Panther\setupact.log" >> Log.txt
del /s /f /q "%windir%\Panther\UnattendGC\setupact.log" >> Log.txt
del /s /f /q "%windir%\Microsoft.NET\Framework\v2.0.50727\ngen_service.log" >> Log.txt
del /s /f /q "%windir%\Microsoft.NET\Framework\v2.0.50727\ngen.log" >> Log.txt
del /s /f /q "%windir%\Panther\setuperr.log" >> Log.txt
del /s /f /q "%windir%\Panther\cbs.log" >> Log.txt
del /s /f /q "%windir%\System32\MRT\21063288-61F8-4060-9629-9DBDD77E3242\MpGearSupport_20131019_113721117.log" >> Log.txt
del /s /f /q "%windir%\System32\MRT\21063288-61F8-4060-9629-9DBDD77E3242\MpGearSupport_20131019_115612188.log" >> Log.txt
del /s /f /q "%windir%\System32\Macromed\Flash\install.log" >> Log.txt
del /s /f /q "%windir%\setuperr.log" >> Log.txt
del /s /f /q "%windir%\debug\WIA\wiatrace.log" >> Log.txt
del /s /f /q "%windir%\Performance\WinSAT\winsat.log" >> Log.txt
del /s /f /q "%windir%\SoftwareDistribution\DataStore\Logs\FlashInstall.log" >> Log.txt
del /s /f /q "%windir%\debug\mrt.log" >> Log.txt
del /s /f /q "%windir%\System32\MRT\BA6D0F21-C17B-418A-8ADD-B18289A02461\MpGearSupport_20131208_101543044.log" >> Log.txt
del /s /f /q "%windir%\IE9_main.log" >> Log.txt
del /s /f /q "%windir%\DPINST.LOG" >> Log.txt
del /s /f /q "%windir%\msxml4-KB973688-enu.LOG" >> Log.txt
del /s /f /q "%windir%\Microsoft.NET\Framework\v4.0.30319\HPSLPSVC0007.log" >> Log.txt
del /s /f /q "%windir%\Microsoft.NET\Framework\v4.0.30319\ngen_service.log" >> Log.txt
del /s /f /q "%windir%\IE10_main.log" >> Log.txt
del /s /f /q "%windir%\PFRO.log" >> Log.txt
del /s /f /q "%windir%\SoftwareDistribution\DataStore\Logs\" >> Log.txt
del /s /f /q "%windir%\inf\setupapi.dev.log" >> Log.txt
del /s /f /q "%windir%\SoftwareDistribution\ReportingEvents.log" >> Log.txt
del /s /f /q "%windir%\Logs\CBS\CBS.log" >> Log.txt
del /s /f /q "%windir%\setupact.log" >> Log.txt
del /s /f /q "%windir%\inf\setupapi.app.log" >> Log.txt
del /s /f /q "%windir%\WindowsUpdate.log" >> Log.txt
del /s /f /q "%windir%\SoftwareDistribution\DataStore\Logs\edb.log" >> Log.txt
del /s /f /q %appdata%\.minecraft\crash-reports\*.* /s >> Log.txt
del /s /f /q %Programdata%\AVAST Software\Persistent Data\Avast\Logs\*.* /s >> Log.txt
del /s /f /q %windir%\SoftwareDistribution\DataStore\Logs\*.* /s >> Log.txt
del /s /f /q %windir%\logs\*.* /s >> Log.txt
del /s /f /q %windir%\temp\*.* /s >> Log.txt
del /s /f /q %userprofile%\Local Settings\temp\*.* /s >> Log.txt
del /s /f /q %userprofile%\AppData\Roaming\FixCleaner\Logs\*.* /s >> Log.txt
erase /s/q/f "%systemdrive%\temp" >> Log.txt
erase /s/q/f "%systemdrive%\documents and settings\administrator\recent" >> Log.txt
erase /s/q/f "%systemdrive%\documents and settings\administrator\my recent documents" >> Log.txt
erase /s/q/f "%systemdrive%\documents and settings\administrator\local settings\my recent documents" >> Log.txt
rmdir /s/q "%systemdrive%\quarantine" >> Log.txt
erase /s/q/f "%windir%\downloaded program files" >> Log.txt
erase /s/q/f "%windir%\recent" >> Log.txt
erase /s/q/f "%windir%\applog" >> Log.txt
erase /s/q/f "%windir%\desktop\*.tmp" >> Log.txt
erase /s/q/f "%systemdrive%\documents and settings\administrator\cookies" >> Log.txt
erase /s/q/f "%systemdrive%\documents and settings\administrator\local settings\history" >> Log.txt
erase /s/q/f "%systemdrive%\documents and settings\administrator\local settings\temp" >> Log.txt
erase /s/q/f "%systemdrive%\documents and settings\administrator\local settings\temporary internet files" >> Log.txt
erase /s/q/f "%systemdrive%\documents and settings\administrator\local settings\application data" >> Log.txt
erase /s/q/f "%systemdrive%\documents and settings\administrator\userdata" >> Log.txt
erase /s/q/f "%systemdrive%\documents and settings\administrator\my recent documents" >> Log.txt
erase /s/q/f "%windir%\system32\catroot2\*.log" >> Log.txt
erase /s/q/f "%systemdrive%\documents and Settings\administrator\application data\mozilla\Profiles\default\mhy0feee.slt\cache" >> Log.txt
erase /s/q/f "%systemdrive%\documents and Settings\administrator\application data\mozilla\Profiles\default\mhy0feee.slt\cache.Trash" >> Log.txt
erase /s/q/f "%systemdrive%\documents and Settings\administrator\application data\mozilla\Profiles\default\mhy0feee.slt\cookies.txt" >> Log.txt
erase /s/q/f "%systemdrive%\documents and settings\administrator\application data\mozilla\Profiles\default\mhy0feee.slt\downloads.rdf" >> Log.txt
erase /s/q/f "%systemdrive%\documents and settings\administrator\application data\mozilla\Profiles\default\mhy0feee.slt\history.dat" >> Log.txt
erase /s/q/f "%systemdrive%\documents and settings\administrator\application data\mozilla\Profiles\default\mhy0feee.slt\bookmarks.html" >> Log.txt
erase /s/q/f "%windir%\debug\usermode\userenv.log" >> Log.txt
erase /s/q/f "%windir%\debug\usermode\userenv.bak" >> Log.txt
netsh int tcp show global >> Log.txt
netsh int tcp set global chimney=enabled" Without >> Log.txt
netsh int tcp set global autotuninglevel=normal >> Log.txt
netsh int tcp set global congestionprovider=ctcp >> Log.txt
regsvr32 actxprxy.dll >> Log.txt
REG add "HKCU\Control Panel\Desktop" /v ForegroundLockTimeout /t REG_DWORD /d 0 /f >> Log.txt
REG add "HKCU\Control Panel\Desktop" /v MenuShowDelay /t REG_SZ /d 100 /f >> Log.txt
REG add "HKLM\SYSTEM\CurrentControlSet\Control" /v WaitToKillServiceTimeout /t REG_SZ /d 5000 /f >> Log.txt
DEL "%systemdrive%\Users\Public\Games\World of Warcraft\Cache\WDB\enUS\creaturecache.wdb" >> Log.txt
del \*.tmp /s /f /q >> Log.txt
del \*.temp /s /f /q >> Log.txt
del \Thumbs.db /s /f /q >> Log.txt
del %windir%\system32\spool\printers\*.shd >> Log.txt
del %windir%\system32\spool\printers\*.spl >> Log.txt
CD\ >> Log.txt
CD %Windir% >> Log.txt
CD SoftwareDistribution >> Log.txt
DEL /F /S /Q Download >> Log.txt
cd %homepath%\Local Settings\Application Data\Google\Chrome\User Data\Default >> Log.txt
del "histor~1" >> Log.txt
del "histor~2" >> Log.txt
del "histor~3" >> Log.txt
del "histor~4" >> Log.txt
del "history" >> Log.txt
del "archiv~1" >> Log.txt
del "archiv~2" >> Log.txt
del "topsit~1" >> Log.txt
del "topsit~2" >> Log.txt
del "lastse~1" >> Log.txt
del "lastta~1" >> Log.txt
del "curren~1" >> Log.txt
del "curren~2" >> Log.txt
del "visite~1" >> Log.txt
del /y "cache" >> Log.txt
net stop spooler >> Log.txt
del "%systemdrive%\system32\spool\printers\*.shd" >> Log.txt
del "%systemdrive%\system32\spool\printers\*.spl" >> Log.txt
net start spooler >> Log.txt
SET x=del /s /q %systemdrive%\Users\%username%\AppData\Local\Microsoft\Windows\History\low\* /ah >> Log.txt
SET x=RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1 >> Log.txt
SET x=RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2 >> Log.txt
SET x=RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8 >> Log.txt
SET x=RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 16 >> Log.txt
SET x=RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 32 >> Log.txt
SET x=RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255 >> Log.txt
SET x=RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 4351 >> Log.txt
del "%systemdrive%\Documents and Settings\My Computer\My Documents\Electronic Arts\The Sims 3\CASPartCache.package" >> Log.txt
del "%systemdrive%\Documents and Settings\My Computer\My Documents\Electronic Arts\The Sims 3\scriptCache.package" >> Log.txt
del "%systemdrive%\Documents and Settings\My Computer\My Documents\Electronic Arts\The Sims 3\compositorCache.package" >> Log.txt
del "%systemdrive%\Documents and Settings\My Computer\My Documents\Electronic Arts\The Sims 3\simCompositorCache.package" >> Log.txt
del %systemdrive%\Thumbs.db / f / s / q / a >> Log.txt
del /q "%systemdrive%\winnt\temp\*.*" >> Log.txt
del /q "%systemdrive%\temp\*.*" >> Log.txt
del /q "%systemdrive%\winnt\Recent\*.*" >> Log.txt
del /q "%systemdrive%\*.chk" >> Log.txt
Estos son los archivos que agregaré carpetas más tarde:
del \*.tmp /s /f /q >> Log.txt
del \*.temp /s /f /q >> Log.txt
del \Thumbs.db /s /f /q >> Log.txt
SET RW="%systemdrive%\Program Files (x86)\Steam\steamapps\common\railworks" >> Log.txt
DEL /S "%RW%\Blueprints.pak*" >> Log.txt
SET RW="%systemdrive%\Program Files (x64)\Steam\steamapps\common\railworks" >> Log.txt
DEL /S "%RW%\Blueprints.pak*" >> Log.txt
set wowdir="%systemdrive%\Program Files (x86)\World of Warcraft\" >> Log.txt
set creature_file=%wowdir%"Cache\WDB\enUS\creaturecache.wdb" >> Log.txt
set npc_file=%wowdir%"Cache\WDB\enUS\npccache.wdb >> Log.txt
set launcher_file=%wowdir%"World of Warcraft Launcher.exe" >> Log.txt
set wowdir="%systemdrive%\Program Files (x64)\World of Warcraft\" >> Log.txt
set creature_file=%wowdir%"Cache\WDB\enUS\creaturecache.wdb" >> Log.txt
set npc_file=%wowdir%"Cache\WDB\enUS\npccache.wdb >> Log.txt
set launcher_file=%wowdir%"World of Warcraft Launcher.exe" >> Log.txt
del /q "%creature_file%" >> Log.txt
del /q "%npc_file%" >> Log.txtset DataDir=%systemdrive%\Users\%USERNAME%\AppData\Local\Applec~1\Safari >> Log.txt
set DataDir2=%systemdrive%\Users\%USERNAME%\AppData\Roaming\Applec~1\Safari >> Log.txt
del /q /s /f "%DataDir%\Cache.db" >> Log.txt
del /q /s /f "%DataDir%\WebpageIcons.db" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Apple Computer\Safari\Cache.db" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Apple Computer\Safari\Webpage Previews" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Microsoft\Media Player\lastplayed.wpl" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\IconCache.db" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\GDIPFONTCACHEV1.DAT" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_32.db" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_96.db" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_256.db" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_1024.db" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_idx.db" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_sr.db" >> Log.txt
del /s /f /q "%windir%\setuplog.txt" >> Log.txt
del /s /f /q "%userprofile%\AppData\Local\Microsoft\Windows\WindowsUpdate.log" >> Log.txt
del /s /f /q "%windir%\winsxs\x86_microsoft-windows-com-dtc-runtime_31bf3856ad364e35_6.1.7600.16385_none_19295908c15690f3\MSDTC.LOG" >> Log.txt
del /s /f /q "%windir%\System32\SMI\Store\Machine\SCHEMA.DAT.LOG2" >> Log.txt
del /s /f /q "%windir%\system32\LocalGroupAdminAdd.log" >> Log.txt
del /s /f /q "%windir%\system32\Network_LLU.log" >> Log.txt
del /s /f /q "%windir%\system32\Local_LLU.log" >> Log.txt
del /s /f /q "%windir%\system32\InstallPackage_ETW.Log" >> Log.txt
del /s /f /q "%windir%\inf\setupapi.offline.log" >> Log.txt
del /s /f /q "%windir%\Panther\UnattendGCsetuperr.log" >> Log.txt
del /s /f /q "%windir%\System32\sysprep\Panther\IE\setuperr.log" >> Log.txt
del /s /f /q "%windir%\System32\sysprep\Panther\IE\setupact.log" >> Log.txt
del /s /f /q "%windir%\Panther\DDACLSys.log" >> Log.txt
del /s /f /q "%windir%\Panther\setupact.log" >> Log.txt
del /s /f /q "%windir%\Panther\UnattendGC\setupact.log" >> Log.txt
del /s /f /q "%windir%\Microsoft.NET\Framework\v2.0.50727\ngen_service.log" >> Log.txt
del /s /f /q "%windir%\Microsoft.NET\Framework\v2.0.50727\ngen.log" >> Log.txt
del /s /f /q "%windir%\Panther\setuperr.log" >> Log.txt
del /s /f /q "%windir%\Panther\cbs.log" >> Log.txt
del /s /f /q "%windir%\System32\MRT\21063288-61F8-4060-9629-9DBDD77E3242\MpGearSupport_20131019_113721117.log" >> Log.txt
del /s /f /q "%windir%\System32\MRT\21063288-61F8-4060-9629-9DBDD77E3242\MpGearSupport_20131019_115612188.log" >> Log.txt
del /s /f /q "%windir%\System32\Macromed\Flash\install.log" >> Log.txt
del /s /f /q "%windir%\setuperr.log" >> Log.txt
del /s /f /q "%windir%\debug\WIA\wiatrace.log" >> Log.txt
del /s /f /q "%windir%\Performance\WinSAT\winsat.log" >> Log.txt
del /s /f /q "%windir%\SoftwareDistribution\DataStore\Logs\FlashInstall.log" >> Log.txt
del /s /f /q "%windir%\debug\mrt.log" >> Log.txt
del /s /f /q "%windir%\System32\MRT\BA6D0F21-C17B-418A-8ADD-B18289A02461\MpGearSupport_20131208_101543044.log" >> Log.txt
del /s /f /q "%windir%\IE9_main.log" >> Log.txt
del /s /f /q "%windir%\DPINST.LOG" >> Log.txt
del /s /f /q "%windir%\msxml4-KB973688-enu.LOG" >> Log.txt
del /s /f /q "%windir%\Microsoft.NET\Framework\v4.0.30319\HPSLPSVC0007.log" >> Log.txt
del /s /f /q "%windir%\Microsoft.NET\Framework\v4.0.30319\ngen_service.log" >> Log.txt
del /s /f /q "%windir%\IE10_main.log" >> Log.txt
del /s /f /q "%windir%\PFRO.log" >> Log.txt
del /s /f /q "%windir%\SoftwareDistribution\DataStore\Logs\" >> Log.txt
del /s /f /q "%windir%\inf\setupapi.dev.log" >> Log.txt
del /s /f /q "%windir%\SoftwareDistribution\ReportingEvents.log" >> Log.txt
del /s /f /q "%windir%\Logs\CBS\CBS.log" >> Log.txt
del /s /f /q "%windir%\setupact.log" >> Log.txt
del /s /f /q "%windir%\inf\setupapi.app.log" >> Log.txt
del /s /f /q "%windir%\WindowsUpdate.log" >> Log.txt
del /s /f /q "%windir%\SoftwareDistribution\DataStore\Logs\edb.log" >> Log.txt
erase /s/q/f "%windir%\system32\catroot2\*.log" >> Log.txt
erase /s/q/f "%systemdrive%\documents and Settings\administrator\application data\mozilla\Profiles\default\mhy0feee.slt\cache" >> Log.txt
erase /s/q/f "%systemdrive%\documents and Settings\administrator\application data\mozilla\Profiles\default\mhy0feee.slt\cache.Trash" >> Log.txt
erase /s/q/f "%systemdrive%\documents and Settings\administrator\application data\mozilla\Profiles\default\mhy0feee.slt\cookies.txt" >> Log.txt
erase /s/q/f "%systemdrive%\documents and settings\administrator\application data\mozilla\Profiles\default\mhy0feee.slt\downloads.rdf" >> Log.txt
erase /s/q/f "%systemdrive%\documents and settings\administrator\application data\mozilla\Profiles\default\mhy0feee.slt\history.dat" >> Log.txt
erase /s/q/f "%systemdrive%\documents and settings\administrator\application data\mozilla\Profiles\default\mhy0feee.slt\bookmarks.html" >> Log.txt
erase /s/q/f "%windir%\debug\usermode\userenv.log" >> Log.txt
erase /s/q/f "%windir%\debug\usermode\userenv.bak" >> Log.txt
DEL "%systemdrive%\Users\Public\Games\World of Warcraft\Cache\WDB\enUS\creaturecache.wdb" >> Log.txt
del "%systemdrive%\Documents and Settings\My Computer\My Documents\Electronic Arts\The Sims 3\CASPartCache.package" >> Log.txt
del "%systemdrive%\Documents and Settings\My Computer\My Documents\Electronic Arts\The Sims 3\scriptCache.package" >> Log.txt
del "%systemdrive%\Documents and Settings\My Computer\My Documents\Electronic Arts\The Sims 3\compositorCache.package" >> Log.txt
del "%systemdrive%\Documents and Settings\My Computer\My Documents\Electronic Arts\The Sims 3\simCompositorCache.package" >> Log.txt
del %systemdrive%\Thumbs.db / f / s / q / a >> Log.txt
3 Respuestas
3
La solución a este problema consta de dos partes.
El espacio mínimo en disco que ocupa un archivo en el disco es un grupo, es decir, todos los archivos tienen asignado un número entero de clústeres en el disco. Por ejemplo, si el tamaño del clúster es de 4 KB, los archivos de 1 a 4096 bytes ocupan un clúster (4 KB), los archivos de 4097 a 8192 bytes ocupan 2 clústeres (8 KB), etc. Cuando se elimina un archivo, el número de grupos lo que ocupa se libera del disco, por lo que el espacio recuperado suele ser mayor que el tamaño del archivo; los clústeres siempre tienen tamaños en múltiplos de KB. De esta forma, para saber el espacio que se recupera cuando se eliminan archivos, primero debemos saber el tamaño del clúster en el disco.
Aunque podemos obtener el tamaño del grupo de chkdsk
or fsutil
comandos, tienen algunos problemas en su uso (como requerir credenciales para ejecutarlos), por lo que usaremos un método indirecto para obtener el tamaño del clúster en su lugar: obtenga el espacio libre en el disco, elimine un archivo pequeño (con un tamaño inferior a un clúster ), y obtenga el nuevo espacio libre; la diferencia entre los dos tamaños es el tamaño del clúster. Tenga en cuenta que los archivos muy pequeños se almacenan en discos NTFS de Windows utilizando un método diferente, por lo que la creación o eliminación de archivos muy pequeños no no afectan el espacio libre total en el disco.
Una vez que tenga el tamaño del grupo, simplemente obtenga el tamaño de cada archivo y conviértalo en una cantidad de grupos usando esta fórmula: set /A clusters=(fileSize-1)/clusterSize+1
. Si el tamaño del clúster es de 4096 bytes, la fórmula anterior da 1 clúster para tamaños de 1 a 4096, da 2 clústeres para tamaños de 4097 a 8192, etc. Al final, multiplique el número total de clústeres por el tamaño del clúster en KB y obtiene el espacio total ocupado por los archivos en el disco, es decir, el espacio que se recuperará cuando se eliminen dichos archivos.
El archivo por lotes a continuación es un ejemplo de la descripción anterior:
@echo off
setlocal EnableDelayedExpansion
REM FIRST PART: Get the cluster size
rem Create a file with 1000 bytes
set "line=X"
for /L %%i in (1,1,997) do set "line=!line!X"
echo %line%> temp.XYZ
rem Get free disk space with this file
for /F "tokens=3" %%a in ('dir /-C temp.XYZ') do set orig=%%a
rem Delete this file and get the new disk free space
copy nul temp.XYZ /y > NUL
for /F "tokens=3" %%a in ('dir /-C temp.XYZ') do set new=%%a
del temp.XYZ
echo New space after deleted 1000 bytes: %new%
echo Original free space: %orig%
rem Get the cluster size
:cutFirstDigit
set "new=%new:~1%"
set "orig=%orig:~1%"
if "%new:~0,1%" equ "%orig:~0,1%" goto cutFirstDigit
set /A clusterSize=new-orig, clusterSizeKB=clusterSize/1024
echo/
echo Cluster size: %clusterSize% bytes (%clusterSizeKB% KB)
echo/
echo/
REM SECOND PART: Get the space occupied by several files selected by first parameter
set totalClusters=0
for %%a in (%1) do (
set /A "totalClusters+=(%%~Za-1)/clusterSize+1"
)
set /A totalSizeKB=totalClusters*clusterSizeKB, totalSizeMB=totalSizeKB/1024, totalSizeGB=totalSizeMB/1024
echo Total size occupied by %1 files: %totalSizeKB% KB (%totalSizeMB% MB) (%totalSizeGB% GB)
EDITAR: Responder a los comentarios
El código anterior muestra cómo "calcular el tamaño de los archivos eliminados" dado en el primer parámetro. Por supuesto, debe insertar la lista de los archivos deseados en su lugar %1
para calcular el tamaño total de los archivos que desee. Por ejemplo:
@echo off
setlocal EnableDelayedExpansion
REM FIRST PART: Get the cluster size
rem Create a file with 1000 bytes
set "line=X"
for /L %%i in (1,1,997) do set "line=!line!X"
echo %line%> temp.XYZ
rem Get free disk space with this file
for /F "tokens=3" %%a in ('dir /-C temp.XYZ') do set orig=%%a
rem Delete this file and get the new disk free space
copy nul temp.XYZ /y > NUL
for /F "tokens=3" %%a in ('dir /-C temp.XYZ') do set new=%%a
del temp.XYZ
rem Get the cluster size
:cutFirstDigit
set "new=%new:~1%"
set "orig=%orig:~1%"
if "%new:~0,1%" equ "%orig:~0,1%" goto cutFirstDigit
set /A clusterSize=new-orig, clusterSizeKB=clusterSize/1024
REM SECOND PART: Get the space occupied by several files
rem Example with "%temp%", "%windir%\setupact.log" and "%ChromeCache%*.*"
rem AND all %windir% directory
set totalClusters=0
for %%a in ("%temp%\*.*"
"%windir%\setupact.log"
"%ChromeCache%*.*") do (
set /A "totalClusters+=(%%~Za-1)/clusterSize+1"
)
for /R "%windir%" %%a in (*.*) do (
set /A "totalClusters+=(%%~Za-1)/clusterSize+1"
)
set /A totalSizeKB=totalClusters*clusterSizeKB, totalSizeMB=totalSizeKB/1024, totalSizeGB=totalSizeMB/1024
echo Total size occupied by "%%temp%%", "%%windir%%\setupact.log" and "%%ChromeCache%%*.*" files:
echo AND all files inside %%windir%% directory:
echo %totalSizeKB% KB (%totalSizeMB% MB) (%totalSizeGB% GB)
Respondido 10 Feb 14, 18:02
Bien, pero necesito esta información antes de que se eliminen los archivos. - 09stephenb
¿Disculpe? Esta es precisamente la información que devuelve mi código: "obtienes el espacio total que ocupan los archivos en el disco, es decir, el espacio que se recuperará cuando se eliminen dichos archivos". mi programa hace NO ¡borrar archivos! - Aacini
Pero no ayuda a encontrar los tamaños de archivo de los archivos y carpetas anteriores. Si puede hacer que muestre los tamaños para decir "%temp%", ""%windir%\setupact.log"" y "%ChromeCache%*.*". Eso sería bueno. - 09stephenb
Gracias, pero un problema final cuando intento ("%windir%*.*") no incluye subcarpetas. pero por lo demás funciona perfectamente. - 09stephenb
Para acumular todos los archivos dentro de una carpeta, use for /R "%windir%" %%a in (*.*) do set /A "totalClusters+=...
- Aacini
2
Puedes probar algo como esto. Como es así, no manejará el tamaño del clúster, ya que para acelerar las operaciones, la salida del comando dir se usa para obtener el tamaño del archivo para cada rama para evitar la mayor cantidad posible de sumas parciales. Luego, el tamaño ocupado por las propias carpetas se suma al tamaño de los archivos.
Para evitar el problema con el límite aritmético por lotes de 2^31 valor máximo, se realiza una simple suma de lápiz y papel. Debería manejar hasta exabytes, pero si se necesita más, es configurable.
@echo off
setlocal enableextensions disabledelayedexpansion
call :initAddSize
call :AddSize "%temp%" "*" /s
call :AddSize "%userprofile%\AppData\Local\Microsoft\Windows\Explorer" "thumbcache_*.db"
call :AddSize "c:\thisdoesnotexist" "*" /s
call :GetTotalSize finalSize
echo(
echo(Total space occupied on disk: [%finalSize% bytes]
echo(
endlocal
exit /b
:: AddSize
:: Recursive add file and folder sizes
:AddSize folder [fileMask] [recurse]
:: check if internal variables has been defined and prepare environment
if not defined _add.total call :initAddSize
setlocal enabledelayedexpansion
:: Retrieve and adjust parameters
set "folder=%~1"
if not defined folder set "folder=%cd%"
set "recurse="
if /i "%~3"=="/s" (
set "recurse=/s"
)
set "fileMask="
if /i "%~2"=="/s" (
set "recurse=/s"
) else (
set "fileMask=%~2"
)
if not defined fileMask set "fileMask=*"
:: If folder does not exist, nothing to do
if not exist "%folder%\" ( endlocal & goto :eof )
:: Size files on disk is retrieved from summary in dir command output
:: Lines starting with at least two spaces belong to the summary
if defined debug echo Searching files... [%folder%\%fileMask%]
set "tempSize=0"
for /f "tokens=3,5" %%y in (
'dir /-c /a /w %recurse% "%folder%\%fileMask%" 2^>nul ^| findstr /b /c:" "'
) do if "%%~z"=="" set "tempSize=%%~y"
:: If files has been found, add its size
if not "%tempSize%"=="0" call :doAddSize %tempSize%
:: Get the size on disk of the folders.
:: If recursive search is selected the sum is handled in a variable,
:: with periodic chekcs to avoid possible overflow in batch arithmetics.
:: If not recursive search is selected, size of the folder is only
:: added if all its content is selected (fileMask=*)
if defined debug echo Sizing folders... [%folder%]
set "_fsz=0"
if defined recurse (
for /d /r "%folder%" %%z in (.) do (
set /a "_fsz+=%%~zz"
if !_fsz! gtr 1073741824 (
call :doAddSize !_fsz!
set "_fsz=0"
)
)
if !_fsz! gtr 0 call :doAddSize %_fsz%
) else (
if "%fileMask%"=="*" for /d %%z in ("%folder%") do call :doAddSize %%~zz
)
:: Calc operations done for the current folder.
:: Cleanup and exit
endlocal & set "_add.total=%_add.total%"
goto :eof
:: GetTotalSize
:: Returns the content of the internal variable used to acumulate the
:: sucessive operations. To simplify cacls, it is stored in reverse
:: order, so, we need to reverse it to output
:GetTotalSize [variable]
setlocal enabledelayedexpansion
set "_output="
for /l %%z in (0 1 %_add.precision%) do set "_output=!_add.total:~%%z,1!!_output!"
endlocal & if not "%~1"=="" ( set "%~1=%_output%" ) else echo(%_output%
goto :eof
:: initAddSize
:: Initialize the internal variables used to handle output to console
:: and to acumulate the sucessive sizes.
:initAddSize
:: Initialize variables needed for calcs. By default "only" 20 digits will be handled
:: in operations (10 EB) . If more or less are needed, change variable
set "_add.total=0"
set "_add.precision=20"
goto :eof
:: doAddSize
:: Internal function to handle the adition of values without the problems
:: of arithmetic overflow in batch files.
:: This is nothing more than a pen and paper sum.
:doAddSize size
setlocal enabledelayedexpansion
set "_sz=%~1"
set "_t=%_add.total%"
set "_s=0"
set "_c=0"
set "_o="
for /l %%z in (0 1 %_add.precision%) do (
if defined _sz (
set /a "_s=!_t:~%%z,1!+!_sz:~-1!+!_c!+0"
set "_sz=!_sz:~0,-1!"
set /a "_c=!_s!/10"
set "_o=!_o!!_s:~-1!"
) else if !_c! gtr 0 (
set /a "_s=!_t:~%%z,1!+!_c!+0"
set /a "_c=!_s!/10"
set "_o=!_o!!_s:~-1!"
) else if not "!_t:~%%z,1!"=="" set "_o=!_o!!_t:~%%z,1!"
)
endlocal & set "_add.total=%_o%"
goto :eof
Respondido 11 Feb 14, 13:02
¿Cómo ocultaría la salida para que no devuelva la salida en pantalla, excepto el tamaño total? - 09stephenb
@09stephenb, hay dos líneas con echo
comando, uno para "Buscar archivos" y otro para "Tamaño de carpetas". Quítelos. - MC ND
Intenté esto, pero debido a que el programa es distribuible, algunos de los archivos y carpetas no están allí, por lo que todavía obtengo una salida. - 09stephenb
@09stephenb, lo siento, ahora veo lo que decías. Se modificó el código para abordar el problema de las carpetas/archivos no existentes. - MC ND
2
Debe administrar sus archivos en una lista/matriz, luego puede usarlos para múltiples operaciones y luego es más fácil cambiar el código en un solo lugar para todos los archivos.
Como mencionó foxidrive, una simple adición puede fallar cuando el tamaño de archivo total es superior a 2^31 bytes, por lo que necesita un poco más de matemáticas avanzadas allí.
@echo off
setlocal EnableDelayedExpansion
set fileCnt=0
set totalSize=0
for %%f in (
"%userprofile%\AppData\Local\IconCache.db"
"%userprofile%\AppData\Local\GDIPFONTCACHEV1.DAT"
"%userprofile%\AppData\Local\Opera\Opera"
"%userprofile%\AppData\Local\Microsoft Corporation\Windows 7 Upgrade Advisor"
"%userprofile%\AppData\Local\Microsoft\Windows Mail\Backup"
"%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_32.db"
"%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_96.db"
) DO (
echo %%f
set "fileList[!fileCnt!]=%%f"
set /a totalSize+=%%~zf+0
set /a fileCnt+=1
)
REM Now show !totalSize!
REM Now delete all files from the filelist
Respondido 07 Feb 14, 10:02
Se ve bien, lo probaré esta noche y les avisaré pronto si funciona, pero se ve bien. - 09stephenb
¿Simplemente usaría "echo %totalSize%%" para mostrar el tamaño? y en qué unidad lo mostrará, por ejemplo. Byte, KB, MB, GB - 09stephenb
Es un byte y no puede tener más de 2 GB. - foxidrive
Está bien, puedo escribir una suma para convertirla en MB/GB - 09stephenb
Acabo de probarlo usando solo %temp% y obtengo un valor de 131072 y el tamaño de la carpeta es de 804 MB y no estoy seguro de que esté funcionando correctamente. - 09stephenb
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas windows batch-file logging vbscript delete-file or haz tu propia pregunta.
Si hace un DIR antes y después y captura el espacio libre en disco, entonces puede calcular la diferencia (con un script VBS ya que la matemática por lotes alcanza un máximo de 2 GB de tamaño). - foxidrive
Necesito saber antes de que los elimine. - 09stephenb
En ese caso, tendrá que sumar archivos de archivo individuales y lo mismo que se aplica arriba para números de más de
2^31 -1
- foxidriveProporcione dos listas: una lista de carpetas y una lista de archivos. - foxidrive
Lo haré por el código completo, esto puede llevar algún tiempo. - 09stephenb