- Код: Выделить всё
@echo off
chcp 1251
echo Начало >%~d0%~p0\%~n0.log
rmdir /s/q \cache\AerialWWII\z19
rmdir /s/q \cache\AerialWWII\z20
rmdir /s/q \cache\AerialWWII\z21
rmdir /s/q \cache\AerialWWII\z22
rmdir /s/q \cache\both\z19
rmdir /s/q \cache\both\z20
rmdir /s/q \cache\both\z21
rmdir /s/q \cache\both\z22
rmdir /s/q \cache\ksmapnew\z19
rmdir /s/q \cache\ksmapnew\z20
rmdir /s/q \cache\ksmapnew\z21
rmdir /s/q \cache\ksmapnew\z22
rmdir /s/q \cache\kssat\z17
rmdir /s/q \cache\kssat\z18
rmdir /s/q \cache\kssat\z19
rmdir /s/q \cache\kssat\z20
rmdir /s/q \cache\kssat\z21
rmdir /s/q \cache\kssat\z22
rmdir /s/q \cache\map\z19
rmdir /s/q \cache\map\z20
rmdir /s/q \cache\map\z21
rmdir /s/q \cache\map\z22
rmdir /s/q \cache\Navitel\z19
rmdir /s/q \cache\Navitel\z20
rmdir /s/q \cache\Navitel\z21
rmdir /s/q \cache\Navitel\z22
rmdir /s/q \cache\OSM_layer_mapsurfer\z19
rmdir /s/q \cache\OSM_layer_mapsurfer\z20
rmdir /s/q \cache\OSM_layer_mapsurfer\z21
rmdir /s/q \cache\OSM_layer_mapsurfer\z22
rmdir /s/q \cache\OSM_opnvkarte\z18
rmdir /s/q \cache\OSM_opnvkarte\z19
rmdir /s/q \cache\OSM_opnvkarte\z20
rmdir /s/q \cache\OSM_opnvkarte\z21
rmdir /s/q \cache\OSM_opnvkarte\z22
rmdir /s/q \cache\osmmap\z19
rmdir /s/q \cache\osmmap\z20
rmdir /s/q \cache\osmmap\z21
rmdir /s/q \cache\osmmap\z22
rmdir /s/q \cache\osmmapMapnik\z19
rmdir /s/q \cache\osmmapMapnik\z20
rmdir /s/q \cache\osmmapMapnik\z21
rmdir /s/q \cache\osmmapMapnik\z22
rmdir /s/q \cache\Pano_KML\z19
rmdir /s/q \cache\Pano_KML\z20
rmdir /s/q \cache\Pano_KML\z21
rmdir /s/q \cache\Pano_KML\z22
rmdir /s/q \cache\sat\z19
rmdir /s/q \cache\sat\z20
rmdir /s/q \cache\sat\z21
rmdir /s/q \cache\sat\z22
rmdir /s/q \cache\vesat\z19
rmdir /s/q \cache\vesat\z20
rmdir /s/q \cache\vesat\z21
rmdir /s/q \cache\vesat\z22
rmdir /s/q \cache\Wiki\z19
rmdir /s/q \cache\Wiki\z20
rmdir /s/q \cache\Wiki\z21
rmdir /s/q \cache\Wiki\z22
rmdir /s/q \cache\yahyb\z19
rmdir /s/q \cache\yahyb\z20
rmdir /s/q \cache\yahyb\z21
rmdir /s/q \cache\yahyb\z22
rmdir /s/q \cache\yamapng\z19
rmdir /s/q \cache\yamapng\z20
rmdir /s/q \cache\yamapng\z21
rmdir /s/q \cache\yamapng\z22
rmdir /s/q \cache\yasat\z19
rmdir /s/q \cache\yasat\z20
rmdir /s/q \cache\yasat\z21
rmdir /s/q \cache\yasat\z22
rem ### Не
rem rmdir /s/q \cache\kssat
rem rmdir /s/q \cache\Navitel
rem rmdir /s/q \cache\WikiMapHyb
rem rmdir /s/q \cache\yanarodmap
rem ### Заглушка карт космоснимков
rem ### в общем, там длина 7066 байт и содержит строку sRGB
rem ### Прозрачный тайл гибрида OSM
for /r \cache\OSM_layer_mapsurfer\ %%i in (*.png) do @(
if %%~zi==1298 (
del /q %%i
echo Удален файл %%i
echo Удален файл %%i >>%~d0%~p0\%~n0.log
)
)
rem ### Прозрачный тайл гибрида Яндекс
for /r \cache\yahyb\ %%i in (*.png) do @(
if %%~zi==937 (
del /q %%i
echo Удален файл %%i
echo Удален файл %%i >>%~d0%~p0\%~n0.log
)
)
rem ### Прозрачный тайл гибрида Гугл
for /r \cache\Both\ %%i in (*.png) do @(
if %%~zi==191 (
del /q %%i
echo Удален файл %%i
echo Удален файл %%i >>%~d0%~p0\%~n0.log
)
)
rem ### Пустой файлик Panoramio KML
for /r \cache\Pano_KML\ %%i in (*.kml) do @(
if %%~zi==236 (
del /q %%i
echo Удален файл %%i
echo Удален файл %%i >>%~d0%~p0\%~n0.log
)
rem echo Проверка файла %%i >>%~d0%~p0\%~n0.log
)
rem ### Пустой файлик Wikimapia KML
for /r \cache\wiki\ %%i in (*.kml) do @(
if %%~zi==809 (
del /q %%i
echo Удален файл %%i
echo Удален файл %%i >>%~d0%~p0\%~n0.log
)
)
rem ### Пустой файлик OSM_layer_transport
for /r \cache\Pano_KML\ %%i in (*.png) do @(
if %%~zi==334 (
del /q %%i
echo Удален файл %%i
echo Удален файл %%i >>%~d0%~p0\%~n0.log
)
)
rem ### Файлы с нулевой длиной (в конец, нехватка памяти, переделать)
for /r \cache\ %%i in (*.*) do @(
if %%~zi==0 (
del /q %%i
echo Удален файл %%i
)
)
rem ### Удаляем метки отсутствующих тайлов. Они мелкие, но занимают каждый по кластеру
del /q /s g:\cache\*.tne
pause
Как видно, всё решается самыми простыми и надёжными способами. Есть обратная сторона такого подхода: более-менее сложные вещи в батнике не очень здорово делать. Пара таких случаев отмечена комментами в тексте, но оба они не особо актуальны.
При этом, хотя в будущем SAS.Планета, возможно, обзаведётся встроенным подобным функционалом, но внешний скрипт лишним никогда не будет хотя бы по причине большей гибкости его настройки.
Комментарии и дополнения очень приветствуются.