-1
У меня есть командный файл, который должен идентифицировать наименьший каталог и удалять все остальные директоры, оставляя только самый маленький.Заключительный этап пакетного файла не работает ... Почему?
Идентификация работает правильно, но удаление других больших папок не работает. Ниже приводится то, что у меня есть сейчас. Что нужно изменить?
@echo off
setlocal EnableDelayedExpansion
rem Get size of all folders
set smallestSize=9999999999
for /D %%a in (*) do (
set size=0
for %%b in (%%a\*.*) do set /A size+=%%~Zb
if !size! lss !smallestSize! (
set smallestSize=!size!
set smallestName=%%a
)
)
echo Deleted folder: "%smallestName%"
pause
rem Delete all folders, except the smallest one.
for /D %%a in (*) do (
if "%%a" neq "%smallestName%" rmdir /S /Q "%%a"
Вы должны следовать вашим сомнениям в [оригинальном вопросе] (http://stackoverflow.com/questions/26689398/ Batch-файл-команд-к-держать-наименьшую-каталог-и-удалить-все-другие). Если выше вы запускаете программу, вы пропустили последнюю строку (с правыми скобками). – Aacini