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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Условие IF и скобки

Ответить
Настройки темы
CMD/BAT - Условие IF и скобки

Новый участник


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

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


Приветствую!

Помогите, пожалуйста, не могу понять чего не хватает. Нужно добавить в батнике по условию параметры в реестр. Как только вношу строки в условие, используя скобки, то перестаёт корректно отрабатывать.

Так работает:
Код: Выделить весь код
REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /V  "NETLangPack" /T "REG_SZ" /D "%PathRoot%\NDP46-KB3045557-x86-x64-AllOS-RUS.exe /q /norestart" /F
или так
Код: Выделить весь код
ECHO.
ECHO Changing default system settings
ECHO.
ECHO Turn off Let apps use my advertising ID for experiences across apps
reg ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo" /v Enabled /t REG_DWORD /d 0 /f
ECHO.
а так уже нет:
Код: Выделить весь код
setlocal enableextensions enabledelayedexpansion

IF /I %major-version% LEQ 6 (
    ECHO.
    ECHO Installing: "Microsoft .NET Framework 4.6"...
    SET PathFile=dotNetFx4\NDP46-KB3045557-x86-x64-AllOS-ENU.exe
    IF EXIST %PathRoot%\!PathFile! (
            REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /V  "NETLangPack" /T "REG_SZ" /D "%PathRoot%\NDP46-KB3045557-x86-x64-AllOS-RUS.exe /q /norestart" /F
        ECHO %done%
    )
)
или так:

Код: Выделить весь код
IF /I %major-version% GEQ 10 (
    ECHO.
    ECHO Changing default system settings
    ECHO.
    ECHO Turn off Let apps use my advertising ID for experiences across apps
    reg ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo" /v Enabled /t REG_DWORD /d 0 /f
        ECHO.
    ECHO Done
)
При том, если использовать конструкцию без скобок, то всё хорошо, но тогда надо плодить одно и тоже условие десятки раз. Т.е. так работает:
Код: Выделить весь код
IF /I %major-version% GEQ 10 reg ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo" /v Enabled /t REG_DWORD /d 0 /f
Повторять десятки раз кусок кода IF /I %major-version% GEQ 10 ни разу не вставляет в таких случаях.

Отправлено: 15:39, 10-12-2016

 

Ветеран


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

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


Вы чего-то не договариваете, как мне кажется. Что именно «не работает»? И покажите полный код.

Отправлено: 15:56, 10-12-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


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

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


Раньше код был более примитивный, с кучей повторений, частенько при редактировании это сильно напрягало. Сейчас провёл небольшую оптимизацию, но не отрабатывает то, что приведено было выше. Весь код:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

TITLE Silent installation of applications

Set PathRoot=%~dp0
Set PathRoot=%PathRoot:~0,-1%
Set PathFile=
Set done=Done.

:: #Assing variable %version% for OS version
For /F "Tokens=2 Delims=[]" %%i In ('ver') Do (For /F "Tokens=2,3 Delims=. " %%a In ("%%i") Do Set version=%%a.%%b)
For /F "Tokens=2 Delims=[]" %%i In ('ver') Do (For /F "Tokens=2,3 Delims=. " %%a In ("%%i") Do Set major-version=%%a)

IF "%1"=="/office" (Set offver=ver16) && CLS && GOTO setupoffice
IF "%1"=="/onlysoft" (Set typesetup=onlysoft) && CLS && GOTO setupoffice

ECHO.
ECHO Startting installation script...
ECHO.

ECHO This script will install additional software
ECHO.
ECHO Are you sure to continue installation?
PAUSE
ECHO.
ECHO You really sure?
PAUSE
SET interactive=true && CLS

:setupoffice
ECHO Version OS defined - %version%
GOTO setupsofware

IF "%offver%"=="ver16" (
    IF DEFINED ProgramW6432 (
        ECHO Installing: "Microsoft Office 2016 OPK"...
        SET PathFile=Office16\setup.exe
        IF EXIST %PathRoot%\!PathFile! START /wait %PathRoot%\!PathFile! /configure %PathRoot%\Office16\configuration_x64.xml
    ) ELSE (
        ECHO.
        ECHO Installing: "Microsoft Office 2016 OPK"...
        SET PathFile=Office16\setup.exe
        IF EXIST %PathRoot%\!PathFile! START /wait %PathRoot%\!PathFile! /configure %PathRoot%\Office16\configuration.xml
    )
    ECHO Setting office setup mode to OEM
    SET PathFile=Office16\oemsetup.cmd
    IF EXIST %PathRoot%\!PathFile! CALL %PathRoot%\!PathFile!
    ECHO %done%
)

:setupsofware
IF DEFINED ProgramW6432 (
    ECHO.
    ECHO Installing: "Microsoft Visual C++ 2015 Redistributable (x64)"...
    SET PathFile=VCredist\vc_redist.x64.exe && IF EXIST %PathRoot%\!PathFile! START /wait %PathRoot%\!PathFile! /q /norestart
    ECHO %done%
) ELSE (
    ECHO.
    ECHO Installing: "Microsoft Visual C++ 2015 Redistributable (x86)"...
    SET PathFile=VCredist\vc_redist.x86.exe && IF EXIST %PathRoot%\!PathFile! START /wait %PathRoot%\!PathFile! /q /norestart
    ECHO %done%
)


rem ECHO.
rem ECHO Installing: "Adobe Flash Player ActiveX & Plugin"...
rem    SET PathFile=Adobe\install_flash_player_23_active_x.exe && IF EXIST %PathRoot%\!PathFile! START /wait %PathRoot%\!PathFile! -install
rem    SET PathFile=Adobe\install_flash_player_23_plugin.exe && IF EXIST %PathRoot%\!PathFile! START /wait %PathRoot%\!PathFile! -install
rem    SET PathFile=Adobe\install_flash_player_23_ppapi.exe && IF EXIST %PathRoot%\!PathFile! START /wait %PathRoot%\!PathFile! -install
rem ECHO %done%

rem ECHO.
rem ECHO Installing: "Adobe AIR"...
rem    SET PathFile=Adobe\AdobeAIRInstaller.exe && IF EXIST %PathRoot%\!PathFile! START /wait %PathRoot%\!PathFile! -silent
rem ECHO %done%

ECHO.
ECHO Installing: "Adobe Reader DC"...
SET PathFile=Adobe\AcroRdrDC1500720033_MUI.exe && IF EXIST %PathRoot%\!PathFile! START /wait %PathRoot%\!PathFile! /sAll /rs
SET PathFile=Adobe\AcroRdrDCUpd1502020042_MUI.msp && IF EXIST %PathRoot%\!PathFile! START /wait msiexec /update %PathRoot%\!PathFile! /qn
IF EXIST "%PUBLIC%\Desktop\Acrobat Reader DC.lnk" DEL /F /Q "%PUBLIC%\Desktop\Acrobat Reader DC.lnk"
IF EXIST "%ALLUSERSPROFILE%\Рабочий стол\Acrobat Reader DC.lnk" DEL /F /Q "%ALLUSERSPROFILE%\Рабочий стол\Acrobat Reader DC.lnk"
ECHO %done%

IF /I %major-version% LEQ 6 (
    ECHO.
    ECHO Installing: "DirectX End-User Runtimes (June 2010)"...
    SET PathFile=DirectX\directx_Jun2010_redist.exe && IF EXIST %PathRoot%\!PathFile! START /wait %PathRoot%\!PathFile! -s -sp/silent
    ECHO %done%
)

rem ECHO.
rem IF DEFINED ProgramW6432 (
rem     ECHO Installing: "Java Version (x64)"...
rem     SET PathFile=Java\jre-8u101-windows-x64.exe && IF EXIST %PathRoot%\!PathFile! START /wait %PathRoot%\!PathFile! /s
rem     ECHO %done%
rem ) 

rem ECHO Installing: "Java Version (x86)"...
rem SET PathFile=Java\jre-8u101-windows-i586.exe && IF EXIST %PathRoot%\!PathFile! START /wait %PathRoot%\!PathFile! /s
rem ECHO %done%

ECHO.
ECHO Installing: "K-Lite Codec Pack Mega"...
    SET PathFile=K-Lite\K-Lite_Codec_Pack_1265_Mega.exe && IF EXIST %PathRoot%\!PathFile! START /wait %PathRoot%\!PathFile! /verysilent /norestart /LoadInf="%PathRoot%\K-Lite\klcp_mega_unattended.ini"
ECHO %done%

IF /I %major-version% LEQ 6 (
    ECHO.
    IF DEFINED ProgramW6432 (
        ECHO Installing: "Silverlight 5 (x64)"...
        SET PathFile=Silverlight\Silverlight_x64.exe && IF EXIST %PathRoot%\!PathFile! START /wait %PathRoot%\!PathFile! /q
        ECHO %done%
    ) ELSE (
        ECHO Installing: "Silverlight 5 (x86)"...
        SET PathFile=Silverlight\Silverlight.exe && IF EXIST %PathRoot%\!PathFile! START /wait %PathRoot%\!PathFile! /q
        ECHO %done%
    )
)

ECHO.
ECHO Installing: "Skype"...
SET PathFile=Skype\SkypeSetupFull.exe && IF EXIST %PathRoot%\!PathFile! START /wait %PathRoot%\!PathFile! /VERYSILENT /NOLAUNCH /NOGOOGLE /NOSTARTUP /NOPLUGINS /LANG=ru
IF EXIST "%PUBLIC%\Desktop\Skype.lnk" DEL /F /Q "%PUBLIC%\Desktop\Skype.lnk"
IF EXIST "%ALLUSERSPROFILE%\Рабочий стол\Skype.lnk" DEL /F /Q "%ALLUSERSPROFILE%\Рабочий стол\Skype.lnk"
ECHO %done%

ECHO.
IF DEFINED ProgramW6432 (
    ECHO Installing: "WinRAR 5 (x64)"...
    SET PathFile=WinRAR\winrar-x64-540ru.exe && IF EXIST %PathRoot%\!PathFile! START /wait %PathRoot%\!PathFile! -s
    ECHO %done%
) ELSE (
    ECHO Installing: "WinRAR 5"...
    SET PathFile=WinRAR\wrar540ru && IF EXIST %PathRoot%\!PathFile! START /wait %PathRoot%\!PathFile! -s
    ECHO %done%
)

IF "%typesetup%"=="onlysoft" (GOTO end)

rem IF /I "%version%"=="6.1" (
rem     ECHO.
rem        ECHO Installing: "Microsoft Internet Explorer 11"...
rem        IF DEFINED ProgramW6432 (
rem            SET PathFile=IE11\IE11-Windows6.1-x64-ru-ru.exe && IF EXIST %PathRoot%\!PathFile! START /wait %PathRoot%\!PathFile! /quiet /closeprograms /norestart) ELSE (START /wait %PathRoot%\IE11\IE11-Windows6.1-x86-ru-ru.exe /quiet /closeprograms /norestart)
rem            ECHO Set default settings for browser:
rem            ECHO Load hive of default user
rem            reg LOAD HKU\Default %SYSTEMDRIVE%\Users\Default\NTUSER.DAT
rem            ECHO Set start with tabs from the the last session
rem            reg ADD "HKU\Default\Software\Microsoft\Internet Explorer\ContinuousBrowsing" /v Enabled /t REG_DWORD /d 1 /f
rem            ECHO Set default start page
rem            reg ADD "HKU\Default\Software\Microsoft\Internet Explorer\Main" /v "Start Page" /t REG_SZ /d "http://www.ya.ru" /f
rem            ECHO Set always open pop-ups in a new tab    
rem            reg ADD "HKU\Default\Software\Microsoft\Internet Explorer\TabbedBrowsing" /v PopupsUseNewWindow /t REG_DWORD /d 2 /f
rem            ECHO Unload hive of default user
rem            reg UNLOAD HKU\Default
rem            ECHO %done%
rem         ELSE (
rem            ECHO.
rem            ECHO "Microsoft Internet Explorer 11" - your OS version %version% not compatible with package
rem    )

IF /I %major-version% LEQ 6 (
    ECHO.
    ECHO Installing: "Microsoft .NET Framework 4.6"...
    SET PathFile=dotNetFx4\NDP46-KB3045557-x86-x64-AllOS-ENU.exe
    IF EXIST %PathRoot%\!PathFile! (
        START /wait %PathRoot%\!PathFile! /q /norestart
        REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /V  "NETLangPack" /T "REG_SZ" /D "%PathRoot%\NDP46-KB3045557-x86-x64-AllOS-RUS.exe /q /norestart" /F
        ECHO %done%
    )
)

IF /I %major-version% GEQ 10 (
    ECHO.
    ECHO Changing default system settings
    ECHO.
    ECHO Turn off Let apps use my advertising ID for experiences across apps
    reg ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo" /v Enabled /t REG_DWORD /d 0 /f
    ECHO Turn on SmartScreen Filter to check web content URLs that Windows Store apps use
    reg ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AppHost" /v EnableWebContentEvaluation /t REG_DWORD /d 1 /f
    ECHO Disable to send your device data to Microsoft
    reg ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection" /v AllowTelemetry /t REG_DWORD /d 1 /f
    ECHO Turn off Malicious Software Reporting Tool telemetry
    reg ADD "HKLM\SOFTWARE\Policies\Microsoft\MRT" /v DontReportInfectionInformation /t REG_DWORD /d 0 /f
    ECHO  Change the level of diagnostic and usage data sent to Basic
    reg ADD "HKLM\SOFTWARE\Microsoft\Input\TIPC" /v Enabled /t REG_DWORD /d 0 /f
    ECHO  Enable Peer-to-Peer (P2P) Apps & Updates Download from More Than One Place only in local network    
    reg ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DeliveryOptimization\Config" /v DODownloadMode /t REG_DWORD /d 1 /f
    ECHO.
    ECHO Load hive of default user
    reg LOAD HKU\Default %SYSTEMDRIVE%\Users\Default\NTUSER.DAT
    ECHO Set start with tabs from the the last session
    reg ADD "HKU\Default\Software\Microsoft\Internet Explorer\ContinuousBrowsing" /v Enabled /t REG_DWORD /d 1 /f
    ECHO Set always open pop-ups in a new tab
    reg ADD "HKU\Default\Software\Microsoft\Internet Explorer\TabbedBrowsing" /v PopupsUseNewWindow /t REG_DWORD /d 2 /f
    ECHO Disable Feedback & Diagnostics
    reg ADD "HKU\Default\Software\Microsoft\Siuf\Rules" /v NumberOfSIUFInPeriod /t REG_DWORD /d 0 /f
    ECHO Hide "Task view" Button on Taskbar
    reg ADD "HKU\Default\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v ShowTaskViewButton /t REG_DWORD /d 0 /f
    ECHO Turn Off App Suggestions on Start Menu
    reg ADD "HKU\Default\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v SystemPaneSuggestionsEnabled /t REG_DWORD /d 0 /f
    ECHO Unload hive of default user
    reg UNLOAD HKU\Default
    ECHO.
    ECHO Done
)

:end
ECHO.
ECHO Setup is completed
IF "%interactive%"=="true" (PAUSE)
EXIT /B 0
Полагаю, что в IFe со скобками ему не нравятся двойные кавычки, но что с этим делать не знаю.

Последний раз редактировалось Emulty, 10-12-2016 в 17:00.


Отправлено: 16:53, 10-12-2016 | #3


Ветеран


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

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


Дорогой друг! Должен Вам сказать — у Вас там чёрт голову сломит.

Определение:
Код: Выделить весь код
SET PathFile=VCredist\vc_redist.x64.exe && IF EXIST %PathRoot%\!PathFile! START /wait %PathRoot%\!PathFile! /q /norestart
перестанет работать, как только Вы начнёте использовать кавычки в "%PathRoot%\!PathFile!" (как оно, вообще-то, по уму, положено), поскольку !PathFile! будет содержать пробел на конце. Я вообще не виду никакой необходимости в данном конкретном случае лепить две команды в одну строку. То есть: никаких случайных конечных пробелов в set быть не должно, это трудно определяется визуально (хотя любые вменяемые редакторы кода имеют параметр «Show white space») и затрудняет определение места ошибки. Вы даже можете использовать:
Код: Выделить весь код
SET "PathFile=VCredist\vc_redist.x64.exe"
для точного ограничения определения.


Теперь давайте детально по коду: что именно у Вас в последнем коде не работает? Скажем так: «Не работает Раз — это …». Разберёмся с Раз, потом будет Два, Три и т.д.

Отправлено: 06:20, 11-12-2016 | #4


Новый участник


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

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


Цитата:
перестанет работать, как только Вы начнёте использовать кавычки в "%PathRoot%\!PathFile!" (как оно, вообще-то, по уму, положено), поскольку !PathFile! будет содержать пробел на конце. Я вообще не виду никакой необходимости в данном конкретном случае лепить две команды в одну строку. То есть: никаких случайных конечных пробелов в set быть не должно, это трудно определяется визуально (хотя любые вменяемые редакторы кода имеют параметр «Show white space») и затрудняет определение места ошибки. Вы даже можете использовать:»
Писал как умел на тот момент, да и сейчас не сильно умнее стал, командная строка вообще местами очень мутная вещь, понятного и полноценного мануала не встречал. Искал выход, когда собрал такую конструкцию, чтобы работало, и в данном случае оно даже отрабатывает нормально. Я правильно Вас понял, что вы предлагаете разбить на несколько строк данную конструкцию? Избавиться от !! в переменной, которые дают пробел в конце. Где почитать о подобных нюансах можно?

А не работает кусок кода с REG'ом, когда его заворачиваю в IF () в несколько строк, например, строка сама по себе работает
Код: Выделить весь код
REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /V  "NETLangPack" /T "REG_SZ" /D "%PathRoot%\NDP46-KB3045557-x86-x64-AllOS-RUS.exe /q /norestart" /F
помещяем в IF (), то не работает
Код: Выделить весь код
IF /I %major-version% LEQ 6 (
     SET PathFile=dotNetFx4\NDP46-KB3045557-x86-x64-AllOS-ENU.exe
    IF EXIST %PathRoot%\!PathFile! (
        START /wait %PathRoot%\!PathFile! /q /norestart
        REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /V  "NETLangPack" /T "REG_SZ" /D "%PathRoot%\NDP46-KB3045557-x86-x64-AllOS-RUS.exe /q /norestart" /F
        ECHO %done%
    )
)
В примере выше отработает всё, кроме строки, что начинается на REG

Код прошу поругать, только конструктивно, желательно с примерами как можно и нужно иначе. Буду очень признателен.

Последний раз редактировалось Emulty, 11-12-2016 в 11:48.


Отправлено: 11:33, 11-12-2016 | #5


Новый участник


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

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


Уже точно не помню, но кажется !! к переменный добавлял именно в условиях, именно там без данного нюанса не раскрывались переменные правильно. Потому как внутри IF'а я ту же PathFile и переопределял каждый раз. Может быть Вы в силу своего опыта можете предложить более мудрую и универсальную конструкцию?

Отправлено: 11:52, 11-12-2016 | #6

y-- y-- вне форума

Старожил


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

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


Emulty,
можно использовать вполне нейтральный вариант:
Код: Выделить весь код
IF /I %major-version% LEQ 6 CALL :METKA_6
:: дальнейшее тело скрипта
GOTO  :EOF

:METKA_6
SET PathFile=dotNetFx4\NDP46-KB3045557-x86-x64-AllOS-ENU.exe
    IF EXIST %PathRoot%\!PathFile! (
        START /wait %PathRoot%\!PathFile! /q /norestart
        REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /V  "NETLangPack" /T "REG_SZ" /D "%PathRoot%\NDP46-KB3045557-x86-x64-AllOS-RUS.exe /q /norestart" /F
        ECHO %done%
    )
GOTO  :EOF
И тебе уже выше говорили о присвоениях - поэтому:
Код: Выделить весь код
SET "PathFile=dotNetFx4\NDP46-KB3045557-x86-x64-AllOS-ENU.exe"
IF EXIST "%PathRoot%\!PathFile!" (
        START /wait "%PathRoot%\!PathFile!" /q /norestart
        REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /V  "NETLangPack" /T "REG_SZ" /D "%PathRoot%\NDP46-KB3045557-x86-x64-AllOS-RUS.exe /q /norestart" /F
        ECHO %done%
    )
GOTO  :EOF

-------
Ты это - заходи если что...

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:13, 11-12-2016 | #7

y-- y-- вне форума

Старожил


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

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


А вообще в твоем коде все пошло наперекосяк с первых строчек - можно обойтись без отложенного выполнения:
Код: Выделить весь код
FOR /F "TOKENS=2,3 DELIMS=[." %%i IN ('ver') DO SET "version=%%i"&SET "minor_version=%%j"
SET "major-version=%version:Version =%"
SET "version=%major-version%.%minor_version%"

-------
Ты это - заходи если что...

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:42, 11-12-2016 | #8


Новый участник


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

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


Большое спасибо всем за помощь! В принципе со всем разобрался, сейчас всё работает.
Низкий поклон.

Отправлено: 20:50, 14-12-2016 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Условие IF и скобки

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - экранировать скобки в данных из реестра kokos76 Скриптовые языки администрирования Windows 9 11-01-2016 08:21
CMD/BAT - [решено] Сворачивание консольного окна, если в имени запускаемого файла есть скобки V!RTuE Скриптовые языки администрирования Windows 1 27-02-2015 19:28
CMD/BAT - [решено] Двойное условие в IF kelevara Скриптовые языки администрирования Windows 10 12-05-2013 20:08
Любой язык - [решено] regexp. не закрытые скобки neprotiv Скриптовые языки администрирования Windows 11 06-11-2012 05:20
C/C++ - Условие выбора ShadowMas Программирование и базы данных 4 22-02-2009 21:42




 
Переход