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.
答案 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"