используя командный файл, как я могу удалить все файлы не в директории Windows? - PullRequest
0 голосов
/ 20 мая 2010

У меня есть небольшой проект, для которого я хотел бы удалить все файлы за пределами и не нужны операционной системе c: \ windows. поэтому мне нужно создать список того, что я хочу сохранить, т.е. boot.ini c: \ windows и т. д., а затем удалить все остальное. Я видел примеры использования forFile, но я могу быть уверен, что расширение будет на машине. У кого-нибудь есть идеи, как я могу создать список исключений и затем удалить?

Ответы [ 4 ]

0 голосов
/ 29 мая 2010

Если вам нужно избавиться от файлов пользовательских данных, вам нужно искать только пару мест, например %USERPROFILE%\AppData. Фактические имена каталогов зависят от операционной системы (XP / Vista / 7).

Но не делайте этого ни администратору, ни себе!

0 голосов
/ 20 мая 2010

Не забудьте сделать резервную копию того метода, который вы используете.

:: вы можете определить параметры, чтобы они не включали ненужные папки, и отметьте их так:

IF "%2" == "" 
IF "%1" == "RunMyBatchFile" ^


FOR %%i IN (""%filter%) ^  ::directory name goes in here that you want to iterate over todelete
DO (^::Do your stuff, make sure to use echo to see the output on the cmd
) ^
0 голосов
/ 20 мая 2010

В дополнение к комментариям о папках, отличных от c: \ Windows, многие общие компоненты Windows находятся в Program Files \ Common Files, а в папках приложений в Program Files, скорее всего, есть драйверы, которые Windows не загружается нормально. без; Антивирус, графика и другие нестандартные драйверы оборудования.

Здесь будут драконы.

0 голосов
/ 20 мая 2010

Вот быстрый удар по списку папок верхнего уровня, к которым не следует прикасаться:

$Recycle.Bin
Documents and Settings [C:\Users]
inetpub
MSOCache
Program Files
Program Files (x86)
ProgramData
Recovery
System Volume Information
Users
Windows

В XP Documents and Settings - это папка, в Vista и 7 это ссылка на папку Users.

MSOCache также безопасно удалить. Тем не менее, многие инсталляторы кэшируются там и используются для обновлений / исправлений различных продуктов MS. Поэтому я бы порекомендовал сохранить его.

Program Files (x86) - это перенаправленный Program Files для 32-разрядных приложений при установке 64-разрядных ОС. Однако я видел приложения, которые устанавливаются в эту папку вместо Program Files даже в 32-разрядных ОС, поэтому я бы посоветовал сохранить его и вручную проверить его содержимое, чтобы принять решение о том, следует ли его удалить.

Обновление: Нет надежного способа перечисления только файлов ОС. Список может сильно различаться в зависимости от версии ОС, SKU, архитектуры, установленных функций ОС, драйверов оборудования, обновлений ОС и установленных приложений.

...