пакетный скрипт для удаления всех папок, кроме самой новой, и игнорирования одной конкретной папки - PullRequest
0 голосов
/ 14 мая 2018
@echo off
setlocal

set "workdir=C:\orbis32\"
set "folder="
for /f "tokens=* delims=" %%i in ('dir %workdir% /AD /B /TW /O-D') do (
    set "folder=%%~fi"
    goto :break
)
:break
echo newest... %folder%

for /f "skip=1 tokens=* delims=" %%i in ('dir %workdir% /AD /B /TW /O-D') do   (
    echo rd /s /q "%%~fi"
)

pause

Теперь мне нужно исключить одну конкретную папку (orbis32 \ logs) из этого, но я в данный момент застрял

1 Ответ

0 голосов
/ 14 мая 2018

Нет необходимости сначала находить самую новую папку (кстати: это может быть папка logs) - достаточно skip.Просто отфильтруйте строки obis32\logs из команды dir:

@echo off
setlocal

set "workdir=C:\orbis32\"
set "folder="
for /f "skip=1 delims=" %%i in ('dir %workdir% /AD /B /TW /O-D ^|find /i /v "orbis32\logs"') do (
    echo rd /s /q "%%~fi"
)
pause
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...