|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Удаление определенных подпапок и файлов в каталоге |
|
|
CMD/BAT - [решено] Удаление определенных подпапок и файлов в каталоге
|
Stalker_AleX333
Сообщения: n/a |
Завис на таком несложном моменте, как удаление определенных подпапок и файлов в каталоге.
Нечто подобное можно сделать таким путем: Но в данном случае смена директории наверное не нужна. cmd-шник запускается из основного каталога, а необходимые к удалению подпапки (не все. по имени) и некоторый набор файлов находятся в подкаталоге Data. И да, я кажется сделал очень большую бяку, допустив опечатки в: Итог - пошло массовое удаление файлов с диска на котором был запущен cmd-шник. Успех по-жизни... Это называется, не пишите ничего в 2 часа ночи... |
|
Отправлено: 13:28, 26-02-2017 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 14:20, 26-02-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Stalker_AleX333
Сообщения: n/a |
|
Последний раз редактировалось Stalker_AleX333, 26-02-2017 в 15:01. Отправлено: 14:56, 26-02-2017 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Stalker_AleX333, и на что мне Ваши скриншоты?
|
Отправлено: 15:04, 26-02-2017 | #4 |
Stalker_AleX333
Сообщения: n/a |
Iska, я что-то не так спрашиваю? Вроде, неясностей нет. Мне нужен образец кода удаляющий подпапки (Ну пусть будет textures и meshes) из каталога Data находящегося в одной директории с cmd-шником, но не трогающий его самого, а также файлы из этого же каталога (Например, test1, test2. Без привязки к их расширению)
|
|
Отправлено: 16:42, 26-02-2017 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 17:14, 26-02-2017 | #6 |
Stalker_AleX333
Сообщения: n/a |
Iska, имеется ввиду, что расширение этих файлов не должно иметь значения. Удалится все что угодно, лишь бы имя совпадало с указанным в списке.
Пока не работает, но может я сам в чем-то накосячил (кусок кода): @Set /p var="> Введите ваш ответ и нажмите Enter: " :: Загрузка Reshade if %var%==5 cls && start https://reshade.me exit :: Загрузка обновлений if %var%==4 cls && start https://yadi.sk/d/D54ZBhxj3ERxw6 exit :: Полное удаление сборки if %var%==3 cls && setlocal enableextensions enabledelayedexpansion :: Удаляем папки сборки по списку pushd "%~dp0" && ( rd /s /q "Data\Interface" rd /s /q "Data\Meshes" rd /s /q "Data\Scripts" rd /s /q "Data\Sound" rd /s /q "Data\Textures" rd /s /q "Data\Video" :: Удаляем плагины сборки по списку del /f /q "Data\test1" "Data\test2" popd ) endlocal :: Удаляем сам cmd-шник (пока не включать!) ::&& del "%~dpnx0" pause exit |
Отправлено: 18:27, 26-02-2017 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Stalker_AleX333:
Цитата Stalker_AleX333:
Цитата Stalker_AleX333:
либо: Для чего у Вас там куча exit вообще непонятно, поскольку в таком виде дальше первого exit выполнение не пойдёт. |
|||
Отправлено: 19:09, 26-02-2017 | #8 |
Stalker_AleX333
Сообщения: n/a |
Iska, ну в нюансах я туго пока разбираюсь. Как-то не доводилось раньше ни bat-ники, ни cmd-шники писать. Там может быть куча ошибок.
Вообще я хотел, чтобы после завершения операции (кроме полного удаления) и последующего нажатия Enter окно возвращалось в исходное состояние, т.е. к списку возможных действий. Весь код целиком
@cls @echo ---------------------------------------------------------- @echo Панель упраления для Silver Raven mods pack версии 1.1.2 @echo ---------------------------------------------------------- @echo. @echo. @echo 1. Копировать отсортированный список плагинов в AppData пользователя? @echo. @echo Нажав цифру 1, вы подтверждаете свое согласие на копирование. @echo. @echo. @echo. @echo 2. Проверка наличия обновлений сборки. (Настоятельно рекомендуется проводить хотя-бы раз в месяц). @echo. @echo Нажав цифру 2, вы подтверждаете свое согласие на переход по ссылке загрузки обновлений. (Откроется браузер) @echo. @echo. @echo. @echo 3. Очистка сборки от устаревших файлов. (Используйте после установки обновлений сборки) @echo. @echo Нажав цифру 3, вы подтверждаете свое согласие на очистку сборки. @echo. @echo. @echo. @echo 4. Загрузка ReShade. (Не влияет на производительность игры, в отличии от ENB и SweetFX) @echo. @echo Нажав цифру 4, вы подтверждаете свое согласие на переход по ссылке загрузки. (Откроется браузер) @echo. @echo. @echo. @echo 5. Полное удаление сборки. (Если вы хотите сохранить какие-либо файлы, сделайте это сейчас) @echo. @echo Нажав цифру 5, вы подтвердите свое согласие на полное удаление сборки. @echo *ВСЕ файлы в подпапках Interface, Meshes, Scripts, Sound, Textures, Video, а также плагины сборки и данный cmd файл будут удалены! @echo. @echo. @echo. @Set /p var="> Введите ваш ответ и нажмите Enter: " :: Копирование отсортированного списка плагинов if %var%==1 ( cls set "BoxOut=%LOCALAPPDATA%\Skyrim Special Edition" set "FileIn=Plugins.txt" if not exist "%BoxOut%" md "%BoxOut%" copy /Y "%~dp0%FileIn%" "%BoxOut%\" pause ) :: Загрузка обновлений if %var%==2 ( cls start https://yadi.sk/d/D54ZBhxj3ERxw6 exit ) :: Очистка сборки от устаревших файлов if %var%==3 ( cls del "Data\Textures\effects\fxwhitewater02.*" "Data\Meshes\actors\manekin" pause exit ) :: Загрузка Reshade if %var%==4 cls && start https://reshade.me exit :: Полное удаление сборки if %var%==5 ( cls setlocal enableextensions enabledelayedexpansion :: Удаляем папки сборки по списку pushd "%~dp0" & ( rd /s /q "Data\Interface" rd /s /q "Data\Meshes" rd /s /q "Data\Scripts" rd /s /q "Data\Sound" rd /s /q "Data\Textures" rd /s /q "Data\Video" :: Удаляем плагины сборки по списку del /f /q "Data\test1.*" "Data\test2.*" popd ) endlocal :: Удаляем сам cmd-шник (пока не включать!) ::&& del "%~dpnx0" pause exit ) |
Последний раз редактировалось Stalker_AleX333, 26-02-2017 в 21:44. Отправлено: 21:29, 26-02-2017 | #9 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата Stalker_AleX333:
@echo off :g_menu echo Список возможных действий echo ---------------------------------- echo Операция 1 - [нажать 1] echo Операция 2 - [нажать 2] echo Завершение работы - [нажать 0] echo ---------------------------------- set /p m= if %m%==2 call :oper2 if %m%==1 call :oper1 if %m%==0 goto :eof goto g_menu pause& exit :oper1 echo Выполняем операцию 1 exit /b :oper2 echo Выполняем операцию 2 exit /b |
|
Отправлено: 03:13, 28-02-2017 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Удаление Папки и всех подпапок и файлов | sashok60 | Скриптовые языки администрирования Windows | 16 | 02-03-2016 08:54 | |
CMD/BAT - [решено] Удаление определенных файлов из подпапок. | NikolayHAOS | Скриптовые языки администрирования Windows | 1 | 30-10-2013 00:58 | |
CMD/BAT - Удаление всех файлов из подпапок | Scumtron | Скриптовые языки администрирования Windows | 2 | 17-10-2013 16:15 | |
CMD/BAT - [решено] Удаление определенных файлов из подпапок | 91892823 | Скриптовые языки администрирования Windows | 2 | 15-11-2012 07:31 | |
CMD/BAT - [решено] удаление всех файлов и подпапок в нескольких папках | alexandri | Скриптовые языки администрирования Windows | 18 | 12-01-2010 05:33 |
|