|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Помогите с батником удаления подпапок и их содержимого кроме одной |
|
CMD/BAT - [решено] Помогите с батником удаления подпапок и их содержимого кроме одной
|
Новый участник Сообщения: 2 |
Есть папка temp с подпапками вида
temp\ApplicationsProvider.apk\res\values-ru temp\AudioEffect.apk\res\values-ru temp\Browser.apk\res\values-ru В каждой подпапке есть лишние файлы и папки, как при помощи батника их удалить и оставить только папку values-ru с путями и то что в ней находится. Ну или копировать только ее в таком формате copy\*.apk\res\values-ru .Спасибо |
|
Отправлено: 19:20, 10-06-2013 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Переходите на PowerShell. Там можно использовать регулярные выражения.
|
Отправлено: 23:14, 10-06-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Вот вариант. Реально он ничего не удаляет. Можно запустить и проанализировать, как он работает. Чтобы скрипт реально удалял, надо убрать rem и можно удалить (можно и оставить если вывод на экран не напрягает) строки с Echo перед строками с rem.
@Echo Off cls Set Where=temp Set NoDel=values-ru SetLocal EnableExtensions EnableDelayedExpansion FOR /F "usebackq delims=" %%d IN (`Dir "%Where%\" /s /a:D /B 2^>nul`) DO ( Set TDir=%%d Set TDir=!TDir:%NoDel%=! If "%%d"=="!TDir!" ( Echo Del "%%d\*.*" /q 2>nul rem Del "%%d\*.*" /q 2>nul Set Yes=0 FOR /F "usebackq delims=" %%i IN (`Dir "%%d" /s /a:D /B 2^>nul`) DO ( Set iDir=%%i Set iDir=!iDir:%NoDel%=! If Not "%%i"=="!iDir!" Set Yes=1 ) If !Yes!==0 Echo Rd "%%d" /s /q rem If !Yes!==0 Rd "%%d" /s /q ) ) |
------- Отправлено: 18:57, 11-06-2013 | #3 |
Ветеран Сообщения: 1273
|
Профиль | Отправить PM | Цитировать |
Отправлено: 21:42, 11-06-2013 | #4 |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать megaloman, Ваш скрипт не удаляет (rem убрал) вот что пишет. Может подскажете что не так?
Del "D:\TEST\Temp\ActivityNetwork.apk\*.*" /q Файл не найден Rd "D:\TEST\Temp\ActivityNetwork.apk" /s /q Системе не удается найти указанный путь. Del "D:\TEST\Temp\ActivityNetwork.apk\original\*.*" /q Файл не найден Rd "D:\TEST\Temp\ActivityNetwork.apk\original" /s /q Системе не удается найти указанный путь. Del "D:\TEST\Temp\ActivityNetwork.apk\res\*.*" /q Файл не найден Rd "D:\TEST\Temp\ActivityNetwork.apk\res" /s /q Системе не удается найти указанный путь. Del "D:\TEST\Temp\ActivityNetwork.apk\original\META-INF\*.*" /q Файл не найден Rd "D:\TEST\Temp\ActivityNetwork.apk\original\META-INF" /s /q Системе не удается найти указанный путь. |
|
Отправлено: 14:02, 12-06-2013 | #5 |
Ветеран Сообщения: 1273
|
Профиль | Отправить PM | Цитировать Цитата Romul35:
@Echo Off SetLocal Set Source=C:\Temp If Not Exist "%Source%" Exit /B 1 For /F "Tokens=*" %%A In ('Dir /B /S /AD "%Source%" 2^>nul^|Find /i /v "values-ru"^|Sort /R') Do (Del /F /Q "%%A\*.*" 2>nul&RD /Q "%%A" 2>nul) Del /F /Q "%Source%\*.*" 2>nul RD /Q "%Source%" 2>nul Цитата Romul35:
|
||
Отправлено: 14:19, 12-06-2013 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] автоматизация удаления файлов их множества архивов | CRi | Скриптовые языки администрирования Windows | 2 | 30-12-2012 00:01 | |
Любой язык - Копирование текстовых файлов в зависимости от их содержимого | Brigadir_33 | Скриптовые языки администрирования Windows | 1 | 28-02-2012 08:02 | |
Запрет удаления и преименования каталога, но полное редактирование содержимого | mark23 | Microsoft Windows NT/2000/2003 | 5 | 01-12-2011 09:24 | |
MKV: рассинхрон после удаления одной аудиодорожки | front242 | Видео и аудио: обработка и кодирование | 0 | 24-10-2008 10:30 | |
CMD/BAT - *CMD/BAT*.Помогите с батником. | pingUIN | Скриптовые языки администрирования Windows | 8 | 09-06-2007 07:55 |
|