@echo off & title Oleg Naimushin
SetLocal EnableExtensions
chcp 866 >NUL
echo.
echo.
echo. --- Скрипт для удаления лишних языков из базы ElsaWin ---
echo.
echo.
echo. - После работы скрипта, остануться необходимые языки это:
echo.
echo. en-GB - английский (Великобритания),
echo.
echo. en-US - английский (США),
echo.
echo. de-DE - немецкий,
echo.
echo. ru-RU - русский.
echo.
echo.
echo. - Нажмите любую клавишу чтобы продолжить работу ..
Pause >NUL
:: Где ищем
cd /d "%~dp0"
:: Что ищем
set mask="*cs-CZ* *da-DK* *el-GR* *es-ES* *fi-FI* *fr-CA* *fr-FR* *hr-HR* *hu-HU* *it-IT* *ja-JP* *ko-KR* *nl-NL* *pl-PL* *pt-PT* *ro-RO* *sk-SK* *sl-SI* *sv-SE* *th-TH* *tr-TR* *zh-CN* *lt-LT* *lv-LV* *mk-MK* *nb-NO* *pt-BR* *sr-YU* *uk-UA* *zh-CHS* *bg-BG* *et-EE* *zh-TW* *zh-TW*"
:: Что оставляем
:: en-GB, en-US, de-DE, ru-RU
2>NUL (for /f "delims=" %%A in ('"dir /b /a:-d "%mask%""') do (
set /a n+=1
))
if "%n%" LSS "1" echo. & echo. & echo. - Заданных файлов не найдено .. & echo. & echo. - Нажмите любую клавишу для выхода .. & Pause >NUL & goto :EOF
del /f /a /q /s "%mask%" 2>NUL 1>&2 > %userprofile%\Desktop\loglist.txt
for %%J in (".") do echo. & echo. - Удалено: %n% файлов & echo. & echo. - Из папки: %%~nJ
echo.
Pause
Pause >NUL
EndLocal
Exit /B
Тишина - мягко сказано. Я бы сказал целый бум на несколько страниц )Собственно тема начата здесь, но на этом форуме тишина.
Может, всё таки .cab ?(Расширение файлов .cad)
Что?Пока сделал так, но что то не нравится.
С какой целью?Может можно как то упростить код батника, усовешенствовать?
@Echo Off
SetLocal EnableExtensions
Set "BoxIn=%~dp0"
Set "Ext=*.cab"
Set "Exclude=*ru-RU* *en-GB* *en-US* *de-DE*"
Set "Log=%userprofile%\Desktop\%~nx0.log"
pushd "%BoxIn%" || (pause & exit /b)
del "%Log%" 2>NUL
set nS=0& set /a nF=0
FOR /f "delims=" %%f IN ('dir /b /a-d %Exclude%') DO set ""%%~nxf"=1"
FOR %%f IN ("%BoxIn%\%Ext%") DO if not Defined "%%~nxf" (
del /f /a "%BoxIn%\%%~nxf" &&(>>"%Log%" echo Success: "%%~nxf"& set /a nS+=1) ||(>>"%Log%" FAILURE: "%%~nxf" & set /a nF+=1)
)
(echo TOTAL:
echo Success: %nS%
echo Failure: %nF%
popd) >> "%Log%"
type "%Log%"
pause
Это только недавно началось и то закончить не можем)Тишина - мягко сказано. Я бы сказал целый бум на несколько страниц )
Сори ошибся.Может, всё таки .cab ?
Дело в том, что Файлы в папке могут быть разного вида, примерно:С какой целью?
Set "Exclude=*ru-RU* *en-GB* *en-US* *de-DE*"
saz.N.sv-SE.2CA.cab
slp.V.sv-SE#graphics.cab
Set "Ext=*.??-*.cab"
Пробую заменить.Set "Ext=*.??-*.cab"
Как в условиях написали, так и сделал.Сейчас Ваш опробовал, по логу удалил то что надо было оставить:
- найдено и удалено столько то файлов.
- ?
Условие выполнения команды: безусловноеDragokas, будьте добры, объясните условие выполнения:
Условие выполнения команды: безусловное
@Echo Off
SetLocal EnableExtensions
Set "BoxIn=%~dp0"
Set "Ext=*.??-*.cab"
Set "Exclude=*ru-RU* *en-GB* *en-US* *de-DE*"
Set "Log=%userprofile%\Desktop\%~nx0.log"
pushd "%BoxIn%" || (pause & exit /b)
del "%Log%" 2>NUL
set nS=0& set /a nF=0
FOR /f "delims=" %%f IN ('dir /b /a-d %Exclude%') DO set ""%%~nxf"=1"
FOR %%f IN ("%BoxIn%\%Ext%") DO if not Defined "%%~nxf" (
del /f /a "%BoxIn%\%%~nxf" &&(>>"%Log%" echo Success: "%%~nxf"& set /a nS+=1) ||(>>"%Log%" FAILURE: "%%~nxf" & set /a nF+=1)
)
(echo TOTAL:
echo Success: %nS%
echo Failure: %nF%
popd) >> "%Log%"
type "%Log%"
pause
Set Cnt=0
For %%I In (*) Do Set /A Cnt += 1
Echo %Cnt%
<nul set /p x=Всего файлов: & dir /b /a-d | find /c /v ""
<nul set /p x=Всего папок: & dir /b /ad | find /c /v ""
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?