VitRom
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код: cls & @echo off & setlocal enableextensions set savelang= en ru set ddirs= resources\_locales fake\subdir set fdirs= Locales resources\_default pushd %~dp0 && for /f %%D in ('dir /a:d /b') do call :check %%D goto :eof :check :: ищем каталог, начинающийся с цифры ::set save=N :: попытка инициализации флага пораньше, без толку set "appdir=%1" set "char=%appdir:~0,1%" if "%char%" GTR "9" ( break ) else ( echo AppDir %appdir% for /d %%D in (%ddirs%) do call :procdirs %%D for /d %%D in (%fdirs%) do call :procfils %%D ) goto :eof :procdirs :: чистим подкаталоги set save=N set ldir=%1 echo Directory %ldir% for /f %%F in ('dir /a:d /b %appdir%\%ldir%') do ( call :chklang %%F echo got %save% if "%save%"=="Y" ( echo skip %appdir%\%ldir%\%%F ) else ( echo rd /s /q %appdir%\%ldir%\%%F ) ) goto :eof :procfils :: обрабатываем файлы в каталоге set save=N set ldir=%1 echo File %ldir% for /f %%F in ('dir /a:-d /b %appdir%\%ldir%') do ( call :chklang %%F echo got %save% if "%save%" == "Y" ( echo skip /f /q %appdir%\%ldir%\%%F ) else ( echo del /f /q %appdir%\%ldir%\%%F ) ) goto :eof :chklang :: если первые два символа совпадают с одним из savelang, :: ставим флаг сохранения set lfile=%1 set lang=%lfile:~0,2% for %%L in (%savelang%) do ( echo check %%L - %lang% ^(%lfile%^) if "%lang%" == "%%L" set save=Y ) echo pass %save% goto :eof |
| Всего записей: 3098 | Зарегистр. 18-06-2006 | Отправлено: 15:16 17-05-2020 | Исправлено: VitRom, 18:24 17-05-2020 |
|