Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 2205
Благодарности: 730

Профиль | Отправить PM | Цитировать


Сейчас делаю проверку по условию наличия программы. Если есть программа, то считается размер кеша и чистит его, если нет, то ничего не считает и выводит сообщение с прочерками. Столкнулся с непонятным:
При установленной Опере если
Код: Выделить весь код
%programfiles%\Opera
без кавычек, кеш считается нормально. Если Оперу удалить, то появляются ошибки. Если поставить кавычки, то как и нужно при удалённой Опере появляется сообщение с прочерками, однако при установленной Опере опять ошибка.
Код: Выделить весь код
@Echo Off
SetLocal enabledelayedexpansion
Set Cnt=10
rem очистка временных файлов Opera
if exist %programfiles%\Opera (  
Set DirProg=%USERPROFILE%\Local Settings\Application Data\Opera\opera\cache
For /F "skip=4 tokens=1-3" %%a IN ('Dir "%DirProg%" /-C /S ') Do ( 
 	If !flag!==1 Set dirsize1=%%c
  	If "%%b"=="файлов:" (Set flag=1) Else (Set flag=0)
        )
Set /A Cnt +=%dirsize1%
PUSHD "%DirProg%"
2>Nul RD /S/Q "%DirProg%"
POPD
echo    Очистка временных файлов Opera                - OK   %dirsize1%  %Cnt%
        ) Else ( echo    Очистка временных файлов Opera                - --    )
Set kb=1024  Set /a mb=kb*kb, dirsizeMB=Cnt/mb, ostMB=Cnt%%mb*100/mb
echo.
echo.
echo       Очистка выполнена, всего удалено %dirsizeMB%,%ostMB% Мб
pause
ping 127.0.0.1 -n 8 > nul

Отправлено: 12:14, 03-04-2011 | #19