Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Очистка мусора после установки Windows

Ответить
Настройки темы
CMD/BAT - [решено] Очистка мусора после установки Windows

Старожил


Сообщения: 222
Благодарности: 19


Конфигурация

Профиль | Отправить PM | Цитировать


После установки Windows в некоторых папках и в корне дисков остаются мусорные папки и файлы, например этим страдает Visual C++ 2008. Как указать удаление известных файлов в корне всех дисков сразу, а не перечислять каждый? И второе, есть папка такого вида: {2FC9EE99-128F-4CEC-BC98-1E3F31390064}, цифры при каждой новой установке меняются, можно ли её удалить с помощью подстановочных знаков?

Отправлено: 11:33, 23-10-2009

 

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата Rostlv:
Как указать удаление известных файлов в корне всех дисков сразу, а не перечислять каждый? »
автоматизировать перечисление (по типу диска) - через DiskPart или WMI, пример для жестких (3) и сменных (2):
Код: Выделить весь код
@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion

For /F "Skip=1 UseBackQ Tokens=1,2" %%i In (
   `WMIC LogicalDisk Where 'DriveType^=2 OR DriveType^=3' GET Name^,SystemName`
) Do If Not "%%j"=="" Set $L=!$L! %%i

For %%i In (%$L%) Do Echo Here Command for Disk %%i
Цитата Rostlv:
есть папка такого вида: {2FC9EE99-128F-4CEC-BC98-1E3F31390064}, цифры при каждой новой установке меняются, можно ли её удалить с помощью подстановочных знаков? »
можно через FindStr, но ввиду некоторых ограничений (поддерживаемые метасимволы, максимальная длина шаблона) условие придется смягчить - например, не задавать жестко количество HEX-символов между ограничителями:
Код: Выделить весь код
@Echo Off

Set ROOT=.

Set $R={[0-9A-F][0-9A-F]*-[0-9A-F][0-9A-F][0-9A-F][0-9A-F]-[0-9A-F][0-9A-F][0-9A-F][0-9A-F]-[0-9A-F][0-9A-F]*-[0-9A-F][0-9A-F]*}
DIR /B/A:D %ROOT%\*|FindStr /XIRC:"%$R%"
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:18, 26-10-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 222
Благодарности: 19

Профиль | Отправить PM | Цитировать


Спасибо amel27, но что-то удаление папки не работает, c дисками пока не разбирался. И ещё, в имени папки меняются не только цифры, но и буквы, забыл упомянуть выше. А сама папка создаётся в пользователе, Default User и в systemprofile, то есть в трёх местах сразу. А попроще вариантов нет? Свой батник запускаю через RunOnce, при втором входе в систему, после установки .Net 3.5 аддона.

Отправлено: 18:31, 26-10-2009 | #3


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата Rostlv:
удаление папки не работает »
а тут и нет команды удаления (только фильтр), т.к. не был указан путь, по которому эту папку искать... "в пользователе, Default User и в systemprofile" тоже как-то туманно... в "Documents and Settings\Default User\" что-ли?.. ставьте вопросы конкретней плз.

Отправлено: 00:52, 27-10-2009 | #4


Старожил


Сообщения: 222
Благодарности: 19

Профиль | Отправить PM | Цитировать


Путь я указал, но видимо что-то с фильтром.
Код: Выделить весь код
@Echo Off

RD /S /Q %SystemRoot%\system32\config\systemprofile\{[0-9A-F][0-9A-F]*-[0-9A-F][0-9A-F][0-9A-F][0-9A-F]-[0-9A-F][0-9A-F][0-9A-F][0-9A-F]-[0-9A-F][0-9A-F]*-[0-9A-F][0-9A-F]*}
RD /S /Q %SystemDrive%\Documents and Settings\Default User\{[0-9A-F][0-9A-F]*-[0-9A-F][0-9A-F][0-9A-F][0-9A-F]-[0-9A-F][0-9A-F][0-9A-F][0-9A-F]-[0-9A-F][0-9A-F]*-[0-9A-F][0-9A-F]*}
RD /S /Q %SystemDrive%\Documents and Settings\Имя пользователя\{[0-9A-F][0-9A-F]*-[0-9A-F][0-9A-F][0-9A-F][0-9A-F]-[0-9A-F][0-9A-F][0-9A-F][0-9A-F]-[0-9A-F][0-9A-F]*-[0-9A-F][0-9A-F]*}

Отправлено: 10:00, 27-10-2009 | #5


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


приведенная строка маска для FindStr, а не имя папки
Код: Выделить весь код
@Echo Off

Set $R={[0-9A-F][0-9A-F]*-[0-9A-F][0-9A-F][0-9A-F][0-9A-F]-[0-9A-F][0-9A-F][0-9A-F][0-9A-F]-[0-9A-F][0-9A-F]*-[0-9A-F][0-9A-F]*}

Call :RD_MASK "%$R%" "%SystemRoot%\system32\config\SystemProfile"
Call :RD_MASK "%$R%" "%SystemDrive%\Documents and Settings\Default User"
Call :RD_MASK "%$R%" "%SystemDrive%\Documents and Settings\%UserName%"

EXIT

:RD_MASK
 For /F "Delims=" %%i In (
 'DIR /B/A:D "%~2\*"^|FindStr /XIRC:"%~1"'
 ) Do RD /S/Q "%~2\%%i"
GoTo :EOF
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:20, 27-10-2009 | #6


Старожил


Сообщения: 222
Благодарности: 19

Профиль | Отправить PM | Цитировать


amel27, огромное спасибо, теперь всё работает.

Отправлено: 10:31, 27-10-2009 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Очистка мусора после установки Windows

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Установка - [решено] Проблемы после прервавшейся установки Windows 7 CosmoSpace Microsoft Windows 7 2 03-01-2010 22:45
Установка - [решено] Восстановление загрузчика Windows Vista после установки Windows XP (архив) Blast Microsoft Windows Vista 1559 08-12-2009 12:34
Интернет - [решено] Wi-Fi перестал работать после установки Windows 7 min-alex-max Microsoft Windows 7 9 03-11-2009 10:20
[решено] Нет выбора систем после установки Windows 7 lego3z Microsoft Windows 7 12 21-08-2009 14:40
Установка - [решено] проблема после установки windows xp sp3!!! :( D@n1k007 Microsoft Windows 2000/XP 6 30-08-2007 01:02




 
Переход