批处理文件删除Chrome / Opera旧安装版本文件夹

时间:2019-02-10 21:26:42

标签: google-chrome batch-file version

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 :(得分:1)

因此要完成脚本,不包括回声:

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"