[Цитировать]

    xnik
  • 19473
  • Стаж: 6 лет 1 месяц
  • Сообщений: 489
  • Репутация:12

    [+] [-]
  • Откуда: СССР
Подскажите какие файлы Windows можно удалить, что бы она была поменьше. Не нарушая стабильности, так сказать средней урезанности.
Вот например обнаружил у себя D3DCompiler_33.dll потом идет с номером 34 35 и до D3DCompiler_47.dll, и таких групп несколько.
На сайте microsoft указанно следующие: обновление не заменяет ранее выпущенное обновление.
Но главный интерес это конечно же winsxs, как бы ее сократить?

[Цитировать]

    rezorustavi
  • 2337
  • Стаж: 8 лет 10 месяцев
  • Сообщений: 918
  • Репутация:55

    [+] [-]
  • Откуда: Грузия, город Рустави
84511winsxs
Очистку, в том числе и от старых обновлений делать лучше всего штатными средствами, через свойства диска.
Другими средствами, как твикеры winsxs тогать не рекомендую, так как рано или поздно в чём-то появятся проблемы и не поймете где роется собака...


Последний раз редактировалось: rezorustavi (2021-04-01 14:28), всего редактировалось 3 раз(а)

[Цитировать]

    korsak7
  • 107
  • Стаж: 9 лет
  • Сообщений: 1063
  • Репутация:62

    [+] [-]
Изобретение лисапеда - устойчивая тенденция на юсбторе в последнее время
это конечно же winsxs, как бы ее сократить
Dism /Online /Cleanup-Image /StartComponentCleanup

[Цитировать]

    xnik
  • 19473
  • Стаж: 6 лет 1 месяц
  • Сообщений: 489
  • Репутация:12

    [+] [-]
  • Откуда: СССР
Вот еще вариант, здесь присутствует ключ /ResetBase (удалить замененные версии)
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase

[Цитировать]

    sergeysvirid
  • 104
  • Стаж: 9 лет
  • Сообщений: 2584
  • Репутация:127

    [+] [-]
  • Откуда: 65 регион (GMT+11)
84532Вот еще вариант
xnik, aa
А вот ещё вариант:
:: Выполнить максимальную очистку (CLEANMGR) диска (C:\) без диалога с пользователем (/VeryLowDisk)
CLEANMGR /VeryLowDisk /D C:\
-P.S.
Вобщем запуск батника вот такого плана, думаю будет более, чем достаточно:
@echo off
reg query "HKU\S-1-5-19\Environment" >nul 2>&1
if %errorlevel% GTR 0 (
cls
powershell.exe -windowstyle hidden -noprofile "Start-Process '%~dpnx0' -Verb RunAs"
exit
)
for /f "tokens=6 delims=[]. " %%G in ('ver') do if %%G LEQ 7601 goto :WIN7
for /f "tokens=6 delims=[]. " %%G in ('ver') do if %%G GEQ 9600 goto :WIN81_10
:WIN7
:: Очистка хранилища компонентов из папки WinSxS в Windows 7
start "" /b /w Dism.exe /Online /Cleanup-Image /StartComponentCleanup
goto :END
:WIN81_10
:: Очистка хранилища компонентов из папки WinSxS в Windows 10 и 8.1
start "" /b /w Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
:END
:: Выполнить максимальную очистку (CLEANMGR) диска (C:\) без диалога с пользователем (/VeryLowDisk)
start "" /b /w cleanmgr.exe /VeryLowDisk /D C:\

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 10 месяцев
  • Сообщений: 3832
  • Репутация:127

    [+] [-]
sergeysvirid, не смог удержаться ag
set opt=& for /f "tokens=6 delims=[]. " %%G in ('ver') do if %%G GTR 7601 set opt=/ResetBase
start "" /b /w Dism.exe /Online /Cleanup-Image /StartComponentCleanup %opt%

[Цитировать]

    dimo70
  • 17296
  • Стаж: 7 лет
  • Сообщений: 3784
  • Репутация:27

    [+] [-]
  • Откуда: BG
sergeysvirid, скрипт очень понравился и сделал репак.
Ander_73, а етот код куда нужно поставить и зачем?

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    UserX
  • 667
  • Стаж: 9 лет 7 месяцев
  • Сообщений: 857
  • Репутация:37

    [+] [-]
84555а етот код куда нужно поставить и зачем?
dimo70, у sergeysvirid в коде имеются два варианта вызова dism
Для Win7:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
Для Win81_10:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
Видно, что эти два вызова отличаются лишь наличием в команде для Win81_10 дополнительного ключа /ResetBase
Вот Ander_73 это дело красиво и реализовал, введя переменную opt, которая, в зависимости от версии Windows, будет либо пустой, либо равной /ResetBase
В результате, скрипт стал без безусловных переходов goto и укоротился:
@echo off
reg query "HKU\S-1-5-19\Environment" >nul 2>&1
if %errorlevel% GTR 0 (
cls
powershell.exe -windowstyle hidden -noprofile "Start-Process '%~dpnx0' -Verb RunAs"
exit
)
set opt=& for /f "tokens=6 delims=[]. " %%G in ('ver') do if %%G GTR 7601 set opt=/ResetBase
start "" /b /w Dism.exe /Online /Cleanup-Image /StartComponentCleanup %opt%
:: Выполнить максимальную очистку (CLEANMGR) диска (C:\) без диалога с пользователем (/VeryLowDisk)
start "" /b /w cleanmgr.exe /VeryLowDisk /D C:\
Правда, в обоих случаях остаётся вопрос с версией Windows 8, или для неё подходит вариант для 8.1_10

[Цитировать]

    dimo70
  • 17296
  • Стаж: 7 лет
  • Сообщений: 3784
  • Репутация:27

    [+] [-]
  • Откуда: BG
UserX, спасибо за разяснение по скрипту. az
Windows 8 думаю никто не пользует, так как актуальная версия 8.1.
Подключу в мою полезность FastClean.
А как насчет команду "Dism.exe /online /Cleanup-Image /SPSuperseded"? Имеет смысль подключать в скрипт очистки?

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 10 месяцев
  • Сообщений: 3832
  • Репутация:127

    [+] [-]
UserX, aa
@echo off
>nul 2>&1 reg query "HKU\S-1-5-19\Environment"|| (
powershell.exe -windowstyle hidden -noprofile "Start-Process '%~dpnx0' -Verb RunAs"
exit
)
set opt=& for /f "tokens=6 delims=[]. " %%G in ('ver') do if %%G GTR 7601 set opt=/ResetBase
Dism.exe /Online /Cleanup-Image /StartComponentCleanup %opt%
cleanmgr.exe /VeryLowDisk /D C:\
---
Зачем очищать старое окно, если открываем новое? (cls)
Зачем нужен start, если запускаем процесс в этом же окне и с ожиданием (/b/w)?
Ну, это так, придирки ab

[Цитировать]

    sergeysvirid
  • 104
  • Стаж: 9 лет
  • Сообщений: 2584
  • Репутация:127

    [+] [-]
  • Откуда: 65 регион (GMT+11)
84554не смог удержаться
Ander_73, Привет! aa
И не нужно себя удерживать, ты же знаешь, что "скриптописец" из меня некудышный, а вот ты уже знаещь толк в этом деле, так что не удерживай себя никогда, подправляй, когда видишь что можно (и нужно) подправить.-
84564А что означает эта ошибка
Undeground,
Приветствую! aa Видимо в системе отсутствует обновление KB2852386 (по идее входит в состав KB3125574)
https://www.outsidethebox.ms/15444/

[Цитировать]

    sov44
  • 14940
  • Стаж: 8 лет
  • Сообщений: 32
  • Репутация:4

    [+] [-]
  • Откуда: г. Киров
84564что означает эта ошибка
В семёрке нет ключа StartComponentCleanup для dism.
Чистить систему нужно с помощью Cleanmgr, типа
Set rst=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches
REG Add "%rst%\Recycle Bin" /v StateFlags0001 /t REG_DWORD /d 2 /f 1>nul 2>nul
REG Add "%rst%\Temporary Files" /v StateFlags0001 /t REG_DWORD /d 2 /f 1>nul 2>nul
REG add "%rst%\Update Cleanup" /v StateFlags0001 /t REG_DWORD /d 2 /f 1>nul 2>nul
REG Delete "%rst%\Compress old files" /f 2>nul
Cleanmgr /sagerun:1

[Цитировать]

    UserX
  • 667
  • Стаж: 9 лет 7 месяцев
  • Сообщений: 857
  • Репутация:37

    [+] [-]
Уважаемый Ander_73!
Тут проходило следующее сообщение:
84604В семёрке нет ключа StartComponentCleanup для dism.
В этой связи хотелось бы чуть подправить ваш замечательный скрипт методом удлинения переменной opt.
Но уровень моих знаний не слишком высок, поэтому я не знаю, как отнесётся интерпретатор к наличию пробела. Нужно ли поставить кавычки или ещё какой-то правильный спецсимвол? Речь идёт о том, чтобы завершить этот Ваш скрипт:
@echo off
>nul 2>&1 reg query "HKU\S-1-5-19\Environment"|| (
powershell.exe -windowstyle hidden -noprofile "Start-Process '%~dpnx0' -Verb RunAs"
exit
)
set opt=& for /f "tokens=6 delims=[]. " %%G in ('ver') do if %%G GTR 7601 set opt=/ResetBase
Dism.exe /Online /Cleanup-Image /StartComponentCleanup %opt%
cleanmgr.exe /VeryLowDisk /D C:\
Будет ли так (см. ниже) правильно? Сомнения возникают из-за наличия пробела, хотя, если его убрать вообще, то, скорее всего, всё будет работать, но будет не очень красиво. Речь идёт о концовке 6-ой строки скрипта (/StartComponentCleanup /ResetBase):
@echo off
>nul 2>&1 reg query "HKU\S-1-5-19\Environment"|| (
powershell.exe -windowstyle hidden -noprofile "Start-Process '%~dpnx0' -Verb RunAs"
exit
)
set opt=& for /f "tokens=6 delims=[]. " %%G in ('ver') do if %%G GTR 7601 set opt=/StartComponentCleanup /ResetBase
Dism.exe /Online /Cleanup-Image %opt%
cleanmgr.exe /VeryLowDisk /D C:\
Заранее спасибо!

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 10 месяцев
  • Сообщений: 3832
  • Репутация:127

    [+] [-]
UserX, ну, выглядит правильно. Не очень понял про пробел, что будет "некрасиво"?

[Цитировать]

    UserX
  • 667
  • Стаж: 9 лет 7 месяцев
  • Сообщений: 857
  • Репутация:37

    [+] [-]
84727Не очень понял про пробел, что будет "некрасиво"?
Это если вместо:
/StartComponentCleanup /ResetBase
сделать так (без сомнительного пробела для интерпретатора):
/StartComponentCleanup/ResetBase
Думаю, пробел между ключами необязателен, но выглядит как-то некрасиво.

Страница 1 из 2


Показать сообщения:    

Текущее время: 03-Дек 20:25

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы