![]() |
Удалить все папки и файлы кроме определенных 2 папок и 2 файлов
Вложений: 1
Нужна помощь профессионалов !
Борюсь со скриптом 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 Ошибки те же Хотел спросить может кто знает как решить проблему? Прикрепил файл. |
Код:
@echo off |
alpap,
Огромное спасибо! Ваш код отлично работает и идеально справляется с поставленной задчей. Еще раз спасибо. Тему можно закрывать. |
Время: 22:59. |
Время: 22:59.
© OSzone.net 2001-