Имя пользователя:
Пароль:
 

Название темы: Удаление по маске
Показать сообщение отдельно

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


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

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


Цитата Гуллипут:
Получившийся текст - в студию ! А то беспредметный разговор получается. »
@echo off
Setlocal EnableDelayedExpansion EnableExtensions

Set Src=C:
set mask=*.txt

Call :Init
Call :AllFolders "%Src%"
pause
Goto :eof

::Переписываем содержимое файла в массив (ускорение операций)
:Init
For /f "UseBackQ Delims=" %%A in ("%ExcList%") do (
Set /A n+=1
Set Ex!n!=%%A
)
Exit /b

::Обходим папки рекурсивно
:AllFolders
Call :Check "%~1"
if %errorlevel%==1 Exit /B
For /f "delims=" %%A in ('dir /b /a:d "%~1"') do (
Call :AllFolders "%~1\%%A"
)
::Проверка не удаляем ли рабочий каталог
if /i "%~1" neq "%Src%" Echo del /q "%~1"\%mask%
Exit /b

::Проверить есть ли переданный как аргумент каталог в массиве
:Check
For /L %%A in (1,1,%n%) do (
if /i "%~1"=="!Ex%%A!" Exit /B 1
)
Exit /b 0

Отправлено: 00:43, 28-04-2014 | #11

Название темы: Удаление по маске