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

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

Ответить
Настройки темы
CMD/BAT - Удалить все папки и файлы кроме определенных 2 папок и 2 файлов

Новый участник


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

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


Вложения
Тип файла: 7z example.7z
(988.9 Kb, 3 просмотров)
Нужна помощь профессионалов !
Борюсь со скриптом bat

Надо удалить все папки и файлы кроме определенных 2 папок и 2 файлов
Вообщум у меня получилось вот так:

set folder="d:\UUUU\Mp3tag\lang"
set "papka=ru"
set "file=Russian.lng"

for /f "delims=" %%a in ('2^>nul dir/a/b "%folder%"^|find/v "%papka%"^|find/v "%file%"') do >nul 2>&1 del /s /q "%folder%\%%a"& >nul 2>&1 rd /s /q "%folder%\%%a"

В папке "Lang" - есть другие папки и файлы, после выполнения этого кода удаляет но не правильно.
Ошибки:
1. оставляет любую папку или файл в названии которого есть сочетание "ru"
а нужно чтоб осталась всего одна папка "ru" и один файл "Russian.lng"
2. не работает код если файл состоит из 2х слов т.е. с пробелами
также если папка тоже будет иметь 2а слова то тоже скрипт не работает.

Также пробовал решитьт проблему атрибутами
set folder="d:\UUUU\Mp3tag\lang"

attrib +H "%folder%\ru"
attrib +H "%folder%\en"
for /d %%i in ("%folder%\%~1*") do rd /q /s %%i
for /F %%i in ('dir /S /B /AD "%folder%\*"') do attrib -H /S /D %%i

Ошибки те же

Хотел спросить может кто знает как решить проблему? Прикрепил файл.

Отправлено: 23:10, 17-01-2018

 

Ветеран


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

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


Код: Выделить весь код
@echo off
set "d=UUUU\Mp3tag\lang"
set "d1=ru"
set "d2=en"
set "f1=Russian.lng"
set "f2=English.lng"

pushd "%d%"
 for /f "delims=" %%a in ('2^>nul dir /b^|findstr /xv /c:"%d1%" /c:"%d2%" /c:"%f1%" /c:"%f2%"') do >nul 2>&1 rd /s /q "%%a"& >nul 2>&1 del /q "%%a"
popd
pause
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:52, 18-01-2018 | #2



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

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


Новый участник


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

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


alpap,
Огромное спасибо!
Ваш код отлично работает и идеально справляется с поставленной задчей. Еще раз спасибо.

Тему можно закрывать.

Отправлено: 09:08, 18-01-2018 | #3



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Удалить все файлы кроме kas1m Скриптовые языки администрирования Windows 20 03-08-2020 22:03
CMD/BAT - Удалить из папки все файлы с расширением .txt, кроме одного kardinalmax Скриптовые языки администрирования Windows 13 22-10-2015 12:21
CMD/BAT - удалить все файлы с раб.стола, кроме определенных ярлыков. через КД santey007 Скриптовые языки администрирования Windows 29 04-02-2015 10:53
CMD/BAT - [решено] Как удалить все папки кроме папок с названием длиной в 14 символов? yaoleg2 Скриптовые языки администрирования Windows 9 26-03-2011 03:49
CMD/BAT - [решено] Удалить все файлы из папки кроме нужных Sirimika Скриптовые языки администрирования Windows 16 12-11-2010 10:33




 
Переход