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

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

Ответить
Настройки темы
CMD/BAT - [решено] Удаление файлов по списку и исключения через параметр attrib
Stalker_AleX333


Сообщения: n/a

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


Изменения
Автор: Stalker_AleX333
Дата: 27-06-2019
Описание: Отредактировал код, согласно замечаниям
Мне жутко надоело писать портянки-списки файлов на удаление и я решил пойти противоположным путем. Удалять определенные файлы в папке, из которой запускается cmd-шник, а затем удалять все, что есть из подпапки Data, корме файлов из списка-исключения (для чего, временно меняем им атрибуты на "только для чтения"). Вот только не работает эта конструкция нихрена... Таки почему?

Код: Выделить весь код
:: Удаление папок настроек сборки и шейдерных пакетов
rd /s /q enbcache enbseries reshade-shaders "Silver Raven mods pack data"

:: Удаление файлов шейдерных пакетов, SKSE64 с dll плагинами, а также readme файлов
del /q dxgi.* d3d11.* d3dcompiler_46e.* d3dx9_42.* enbadaptation.* enbbloom.* enbdepthoffield.* enbeffect.* enbeffectpostpass.* enbeffectprepass.* enblens.* enblocal.* enbseries.* skse64_1_5_3.* skse64_1_5_16.* skse64_1_5_23.* skse64_1_5_39.* skse64_1_5_50.* skse64_1_5_53.* skse64_1_5_62.* skse64_1_5_73.* skse64_1_5_80.* skse64_loader.* skse64_steam_loader.* tbb.* tbbmalloc.* "*.info" Plugins.* Licence.* Readme.* "Readme update.*" "Licence cleaned archives.*" "Readme cleaned archives.*" "Licence Silver Raven mods pack.*" "Readme Silver Raven mods pack.*" "Readme updates Silver Raven mods pack.*"

:: Установка атрибута "только для чтения", для архивов игры
cd Data
attrib +r Dawnguard.esm Dragonborn.esm HearthFires.esm "Skyrim - Animations.bsa" "Skyrim - Interface.bsa" "Skyrim - Meshes0.bsa" "Skyrim - Meshes1.bsa" "Skyrim - Misc.bsa" "Skyrim - Patch.bsa" "Skyrim - Shaders.bsa" "Skyrim - Sounds.bsa" "Skyrim - Textures0.bsa" "Skyrim - Textures1.bsa" "Skyrim - Textures2.bsa" "Skyrim - Textures3.bsa" "Skyrim - Textures4.bsa" "Skyrim - Textures5.bsa" "Skyrim - Textures6.bsa" "Skyrim - Textures7.bsa" "Skyrim - Textures8.bsa" Skyrim.esm Update.esm /d

:: Удаление всего содержимого папки Data
del /s /q *

:: Снятие атрибута "только для чтения", для архивов игры
attrib -r Dawnguard.esm Dragonborn.esm HearthFires.esm "Skyrim - Animations.bsa" "Skyrim - Interface.bsa" "Skyrim - Meshes0.bsa" "Skyrim - Meshes1.bsa" "Skyrim - Misc.bsa" "Skyrim - Patch.bsa" "Skyrim - Shaders.bsa" "Skyrim - Sounds.bsa" "Skyrim - Textures0.bsa" "Skyrim - Textures1.bsa" "Skyrim - Textures2.bsa" "Skyrim - Textures3.bsa" "Skyrim - Textures4.bsa" "Skyrim - Textures5.bsa" "Skyrim - Textures6.bsa" "Skyrim - Textures7.bsa" "Skyrim - Textures8.bsa" Skyrim.esm Update.esm /d

Отправлено: 22:51, 26-06-2019

 

Ветеран


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

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


Цитата Stalker_AleX333:
Таки почему? »
1. Таки зачем?
2. Внезапно — после того, как Вы сменили неизвестный текущий каталог на каталог Data:
Цитата Stalker_AleX333:
cd Data »
есть некоторое подозрение , что внутри него может не найтись ещё один одноимённый каталог, внутри которого Вы пытаетесь удалять:
Цитата Stalker_AleX333:
del /s /q Data\* »
Это сообщение посчитали полезным следующие участники:

Отправлено: 04:30, 27-06-2019 | #2



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

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

Stalker_AleX333


Сообщения: n/a

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


Iska, ок, тупанул. Убрал.

Но attrib все-равно не отрабатывает (ошибка в формате параметра), соответственно удаляется все содержимое (кроме подпапок, их тоже нужно убрать. в одну команду никак не засунуть? объединять с предыдущим rd?).

Код: Выделить весь код
:: Удаление папок шейдерных пакетов и настроек\опций сборки
rd /s /q enbcache enbseries reshade-shaders "Silver Raven mods pack data"

:: Удаление файлов шейдерных пакетов, SKSE64 с dll плагинами, а также readme файлов
del /q dxgi.* d3d11.* d3dcompiler_46e.* d3dx9_42.* enbadaptation.* enbbloom.* enbdepthoffield.* enbeffect.* enbeffectpostpass.* enbeffectprepass.* enblens.* enblocal.* enbseries.* "Silver Raven ReShade preset.ini" skse64_1_5_3.* skse64_1_5_16.* skse64_1_5_23.* skse64_1_5_39.* skse64_1_5_50.* skse64_1_5_53.* skse64_1_5_62.* skse64_1_5_73.* skse64_1_5_80.* skse64_loader.* skse64_steam_loader.* tbb.* tbbmalloc.* "*.info" Plugins.* Licence.* Readme.* "Readme update.*" "Licence cleaned archives.*" "Readme cleaned archives.*" "Licence Silver Raven mods pack.*" "Readme Silver Raven mods pack.*" "Readme updates Silver Raven mods pack.*"

:: Установка атрибута "только для чтения", для архивов игры
cd Data
attrib +r Dawnguard.esm Dragonborn.esm HearthFires.esm "Skyrim - Animations.bsa" "Skyrim - Interface.bsa" "Skyrim - Meshes0.bsa" "Skyrim - Meshes1.bsa" "Skyrim - Misc.bsa" "Skyrim - Patch.bsa" "Skyrim - Shaders.bsa" "Skyrim - Sounds.bsa" "Skyrim - Textures0.bsa" "Skyrim - Textures1.bsa" "Skyrim - Textures2.bsa" "Skyrim - Textures3.bsa" "Skyrim - Textures4.bsa" "Skyrim - Textures5.bsa" "Skyrim - Textures6.bsa" "Skyrim - Textures7.bsa" "Skyrim - Textures8.bsa" Skyrim.esm Update.esm "Unofficial HD Audio Project - ENG0.bsa" "Unofficial HD Audio Project - ENG1.bsa" "Unofficial HD Audio Project - ENG2.bsa" "Unofficial HD Audio Project - ENG3.bsa" "Unofficial HD Audio Project - ENG4.bsa" "Unofficial HD Audio Project - RUS0.bsa" "Unofficial HD Audio Project - RUS1.bsa" "Unofficial HD Audio Project - RUS2.bsa" "Unofficial HD Audio Project - RUS3.bsa" "Unofficial HD Audio Project - RUS4.bsa" /d

:: Удаление всего содержимого папки Data
rd /s /q Interface Meshes Scripts SKSE Sound Textures Videos
del /s /q *

:: Снятие атрибута "только для чтения", для архивов игры
attrib -r Dawnguard.esm Dragonborn.esm HearthFires.esm "Skyrim - Animations.bsa" "Skyrim - Interface.bsa" "Skyrim - Meshes0.bsa" "Skyrim - Meshes1.bsa" "Skyrim - Misc.bsa" "Skyrim - Patch.bsa" "Skyrim - Shaders.bsa" "Skyrim - Sounds.bsa" "Skyrim - Textures0.bsa" "Skyrim - Textures1.bsa" "Skyrim - Textures2.bsa" "Skyrim - Textures3.bsa" "Skyrim - Textures4.bsa" "Skyrim - Textures5.bsa" "Skyrim - Textures6.bsa" "Skyrim - Textures7.bsa" "Skyrim - Textures8.bsa" Skyrim.esm Update.esm "Unofficial HD Audio Project - ENG0.bsa" "Unofficial HD Audio Project - ENG1.bsa" "Unofficial HD Audio Project - ENG2.bsa" "Unofficial HD Audio Project - ENG3.bsa" "Unofficial HD Audio Project - ENG4.bsa" "Unofficial HD Audio Project - RUS0.bsa" "Unofficial HD Audio Project - RUS1.bsa" "Unofficial HD Audio Project - RUS2.bsa" "Unofficial HD Audio Project - RUS3.bsa" "Unofficial HD Audio Project - RUS4.bsa" /d

Последний раз редактировалось Stalker_AleX333, 27-06-2019 в 21:30.


Отправлено: 20:41, 27-06-2019 | #3


Ветеран


Contributor


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

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


Если в папке Data должны остаться перечисленные файлы, в том числе и в подпапках
Код: Выделить весь код
@Echo Off
	Set Att=Dawnguard.esm Dragonborn.esm HearthFires.esm "Skyrim - Animations.bsa" "Skyrim - Interface.bsa" "Skyrim - Meshes0.bsa" "Skyrim - Meshes1.bsa" "Skyrim - Misc.bsa" "Skyrim - Patch.bsa" "Skyrim - Shaders.bsa" "Skyrim - Sounds.bsa" "Skyrim - Textures0.bsa" "Skyrim - Textures1.bsa" "Skyrim - Textures2.bsa" "Skyrim - Textures3.bsa" "Skyrim - Textures4.bsa" "Skyrim - Textures5.bsa" "Skyrim - Textures6.bsa" "Skyrim - Textures7.bsa" "Skyrim - Textures8.bsa" Skyrim.esm Update.esm
	Set "Fold=Data"

	FOR %%f IN (%Att%) DO If Exist "%Fold%\%%~f" Attrib +H "%Fold%\%%~f"
	FOR /F "usebackq delims=" %%d IN (`2^>nul Dir "%Fold%\" /S /B /A:D`) DO (
		FOR %%f IN (%Att%) DO If Exist "%%d\%%~f" Attrib +H "%%d\%%~f"
	)

	>nul Del "%Fold%\*.*" /S /Q

	FOR %%f IN (%Att%) DO If Exist "%Fold%\%%~f" Attrib -H "%Fold%\%%~f"
	FOR /F "usebackq delims=" %%d IN (`2^>nul Dir "%Fold%\" /S /B /A:D`) DO (
		FOR %%f IN (%Att%) DO If Exist "%%d\%%~f" Attrib -H "%%d\%%~f"
	)
Если в папке Data должны остаться только перечисленные файлы, а всё остальное, включая подпапки, должно быть убито
Код: Выделить весь код
@Echo Off
	Set Att=Dawnguard.esm Dragonborn.esm HearthFires.esm "Skyrim - Animations.bsa" "Skyrim - Interface.bsa" "Skyrim - Meshes0.bsa" "Skyrim - Meshes1.bsa" "Skyrim - Misc.bsa" "Skyrim - Patch.bsa" "Skyrim - Shaders.bsa" "Skyrim - Sounds.bsa" "Skyrim - Textures0.bsa" "Skyrim - Textures1.bsa" "Skyrim - Textures2.bsa" "Skyrim - Textures3.bsa" "Skyrim - Textures4.bsa" "Skyrim - Textures5.bsa" "Skyrim - Textures6.bsa" "Skyrim - Textures7.bsa" "Skyrim - Textures8.bsa" Skyrim.esm Update.esm
	Set "Fold=Data"

	FOR %%f IN (%Att%) DO If Exist "%Fold%\%%~f" Attrib +H "%Fold%\%%~f"
	>nul Del "%Fold%\*.*" /Q
	FOR %%f IN (%Att%) DO If Exist "%Fold%\%%~f" Attrib -H "%Fold%\%%~f"

	FOR /F "usebackq delims=" %%d IN (`2^>nul Dir "%Fold%\" /B /A:D`) DO Rd /S /Q "%Fold%\%%d"

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 27-06-2019 в 22:31.


Отправлено: 22:08, 27-06-2019 | #4



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - удаление файлов по списку list.txt bidjo Скриптовые языки администрирования Windows 32 12-08-2018 18:24
CMD/BAT - Удаление файлов по списку Freddy1984 Скриптовые языки администрирования Windows 11 04-05-2017 08:36
CMD/BAT - Удаление файлов и папок по списку с выводом результата в файл Sub-Zero Скриптовые языки администрирования Windows 0 08-12-2015 23:12
CMD/BAT - [решено] Удаление по маске, кроме папки исключения. serjei Скриптовые языки администрирования Windows 27 18-02-2012 03:42
Прочие БД - Извлечение файлов по списку Aviator Программирование и базы данных 1 22-02-2011 02:44




 
Переход