Пакетный файл для удаления папок Chrome / Opera старой установки версии - PullRequest
0 голосов
/ 11 февраля 2019

Opera и Chrome создают папки для новых версий.Например, в% ProgramW6432% \ Opera:
57.0.3098.63_0
58.0.3135.21
58.0.3135.26
58.0.3135.30
58.0.3135.37
58.0.3135.45
58.0.3135.59
Активы
old_status

Я хотел бы написать пакетный файл, который удаляет все папки более старых версий Opera, созданные в процессе установки новой версии, кроме последних двух самых новых папок.В этом случае: 58.0.3135.45 и 58.0.3135.59 папок.Примечание. Для Chrome аналогично, но кроме этого необходимо переименовать файл «new_chrome.exe» в «chrome.exe».

Я написал код ниже, чтобы найти самую старую и новейшую папку, но я застрял.

SETLOCAL EnableDelayedExpansion
SETLOCAL EnableExtensions

REM %ProgramW6432%\Net\Opera
REM D:\Program Files\Net\Opera
SET path=%ProgramW6432%\Net\Opera

ECHO. & ECHO. %path% & ECHO.

FOR /F " tokens=*" %%i IN ('DIR /B /AD-H /OGD "%path%\5*"') DO (SET fistDIR=%%i)
ECHO. & ECHO. The newest install folder created under %path% is %fistDIR% & 
ECHO.

FOR /F " tokens=*" %%j IN ('DIR /B /AD-H /OG-D "%path%\5*"') DO (SET lastDIR=%%j)
ECHO. & ECHO. The oldest install folder created under %path% is %lastDIR% & 
ECHO.

1 Ответ

0 голосов
/ 11 февраля 2019

Итак, чтобы завершить скрипт, исключая эхо:

set "mypath=Z:\"
cd /d "%mypath%"
for /f "skip=2 delims=" %%i IN ('dir "%mypath%5*" /B /AD /O-D') do RMDIR /S /Q "%%~fi"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...