Войти

Показать полную графическую версию : чистка мусорных каталогов *.tmp в System32\...\Local


MadMixture
18-01-2022, 09:55
Проблема касается всех кто на винде 10/11: https://4pda.to/2021/11/02/392618/v_windows_11_obnaruzhena_problema_tysyachi_papok/
Не получилось её решить с наскока, сваяв цикл в bat-файле, - старый опыт давно заржавел :)
Прошу помочь, хочу поставить в автозагрузку.

NickM
18-01-2022, 10:20
Сам сценарий можно оформить по Своему вкусу.
Например, что-нибудь типа такого:

SetLocal EnableExtensions

For /F "Tokens=2*" %%I In ('Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" /V ProfilesDirectory') Do Set Profiles=%%J
Call Set Profiles=%Profiles%

For /F "Delims=" %%I In ('Dir /B /AD-S-H "%Profiles%" ^| FindStr /V /B /I /C:"All Users"') Do (
Del /F /S /Q "%Profiles%\%%I\Local Settings\Temp\*.*"
Del /F /S /Q "%Profiles%\%%I\Local Settings\Temporary Internet Files\*.*"

Del /F /S /Q "%Profiles%\%%I\AppData\Local\Temp\*.*"
Del /F /S /Q "%Profiles%\%%I\AppData\Local\Microsoft\Windows\Temporary Internet Files\*.*"
)

Хех, промахнулся, речь то шла о системном профайле, а не пользовательских Temp.
Ну да ладно, просто проигнорируйте.

DJ Mogarych
18-01-2022, 10:24
Цикл здесь не нужен.

Строка для запуска из-под CMD:

powershell -command "del 'C:\Windows\system32\config\systemprofile\appdata\local\*.tmp' -recurse -force -confirm:$false"


Строка для запуска из-под Powershell:
del 'C:\Windows\system32\config\systemprofile\appdata\local\*.tmp' -recurse -force -confirm:$false

MadMixture
18-01-2022, 15:53
Спасибо, но Powershell не все политики пропустят. Есть ли аналог в виде bat|cmd?

NickM
18-01-2022, 16:18
MadMixture, а так?

Проверьте вывод путей в консоль:

@echo off
SetLocal EnableExtensions

For /F "Delims=" %%I In ('Dir /B /AD-S-H "C:\Windows\System32\config\systemprofile\AppData\Local\" ^| FindStr /B /I /C:"tw-"') Do (
rem rmdir /S /Q "C:\Windows\System32\config\systemprofile\AppData\Local\%%I"
echo."C:\Windows\System32\config\systemprofile\AppData\Local\%%I"
)
pause

megaloman
18-01-2022, 17:39
MadMixture, Зачем делать костыли, когда есть штатное безопасное средство. Автоматизация средства очистки дисков в Windows (https://docs.microsoft.com/ru-ru/troubleshoot/windows-server/backup-and-storage/automating-disk-cleanup-tool)

DJ Mogarych
18-01-2022, 17:45
Моя строка именно под cmd|bat работает.
Меня всегда забавляет, что powershell политики не пропустят, тогда как cmd пропустят.

NickM
19-01-2022, 21:04
Цикл здесь не нужен. »
Меня всегда забавляет, что powershell политики не пропустят, тогда как cmd пропустят. »
Странно, на домашней системе этих папок оказалось под ~2 тыс., но powershell "выпал в осадок":

https://i.imgur.com/Gc1GCIL.png

Пришлось сценарием подчистить...

DJ Mogarych
19-01-2022, 23:27
Ну правильно, потому что не надо powershell из-под powershell запускать. Моя строка была для cmd.
Под powershell надо так:

del 'C:\Windows\system32\config\systemprofile\appdata\local\*.tmp' -recurse -force -confirm:$false


Добавил в сообщение выше.

MadMixture
27-02-2022, 18:31
Всё проще. Добавил такое правило в настройках CCleaner'а:

sputnikk
01-03-2024, 07:11
Нашел на tenforums, что это дел рук некого ProvTool.exe. Зачем он это делает - неясно, но смело можно отключить его активность через планировщик заданий: перейти там в Microsoft/Windows/Manangement/Provisioning и отключить Logon. Пустые папки, которые он наплодил, тоже можно стереть - у меня их было 4000 с чем-то.
Обсуждения на tenforums от 2019 года, но действительно ничего с тех пор не поменялось, у меня 2 папки сегодня создались
https://answers.microsoft.com/ru-ru/windows/forum/all/%D0%BF%D1%83%D1%81%D1%82%D1%8B%D0%B5/7f069353-eb30-4f1a-9d34-f70b491c9ae9 , первоисточник не нашёл

sputnikk
01-03-2024, 07:44
Строка для запуска из-под Powershell » как создать исполняемый файл? Не получилось в PowerShell ISE

DJ Mogarych
01-03-2024, 18:49
ps2exe




© OSzone.net 2001-2012