Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 5

Модерирует : KLASS, IFkO

vu1tur (04-11-2008 23:07): Задачи на bat-файлах 6  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

   

Nagual



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задачи на bat-файлах 5
(часть 1, часть 2, часть 3 , часть 4)
Вопросы, задачи и их решения по работе с командными файлами, а также сопутствующие ссылки.

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Также для удаления концевых пробелов пользуйтесь скриптом от Nagual, или VBS-Скрипт-Модулем от ViSiToR.
 
Для перекодирования кирилицы 866<<>>1251 пользуйтесь онлайн сервисом Перекодировщик кириллицы

 
Дополняем шапку: добавляем готовые решения, полезные ссылки.
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Программы » Командная строка, батники\сценарии
 
Полезные ссылки
 
Полезные утилиты
 
Готовые решения и частые вопросы:
  • Встроенный справочник по командам
  • Создание помощи по всем командам консоли 2000 и XP
  • Делаем паузу в командном файле стандартными средствами Windows
  • Альтернативные решения »
  • Работа с текстом, датой, и файлами »
  • Администрирование, автоматизация и сеть »
  • Работа с переменными и параметрами ком. строки »
     
    Описания работы команд и символов участниками темы:
    · setlocal enabledelayedexpansion и переменные окружения
    · символы & и && в командной строке
    · Переменная %0

  • Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 12:28 19-03-2008 | Исправлено: Nagual, 01:02 24-09-2008
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    JI063uk
    Вывод и изменение атрибутов файлов.
     
    ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [диск:] [путь] [имя_файла]
            [/S] [/D]]
     
      +   Установка атрибута.
      -   Снятие атрибута.
      R   Атрибут "Только чтение".
      A   Атрибут "Архивный".
      S   Атрибут "Системный".
      H   Атрибут "Скрытый".
      [диск:] [путь] [имя_файла]
          Указание файла или набора файлов для обработки.
      /S  Обработка файлов с указанными именами в текущей папке
          и во всех ее подпапках.
      /D  Обработка и файлов, и папок.

    Всего записей: 2182 | Зарегистр. 17-07-2006 | Отправлено: 10:41 11-05-2008
    JI063uk



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    king_stiven

     
    Спасибо.
     
     
     
    Добавлено:
    Ничё понять не могу что не так:
     

    Цитата:
     
    @echo off
    for /f "tokens=*" %%i in (1.txt) do (
    shutdown -m -s -f "\\%%i" -t 40 -c "....."
    )
     

     
    Просто в строке пишу так shutdown -m -s -f \\имя -t 40 -c "....." работает, а батником не получяеться. 1.txt содержит имена компов которые следует выключить...  
    Что не так???
     
     

    Всего записей: 55 | Зарегистр. 24-01-2008 | Отправлено: 11:29 11-05-2008
    11100

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    есть два снимка реестра котрые отличаются друг от друга.
    нужно найти в них отличия и на основе их создать  заплатку реестра, как это сделать.
     Изменений очень много.

    Всего записей: 79 | Зарегистр. 02-04-2007 | Отправлено: 19:51 11-05-2008 | Исправлено: 11100, 20:35 11-05-2008
    Ortios



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    11100
    Это тебе в тему "Реестр Windows 2000 / Windows XP", ищи там в шапке утилиту RegShot.

    Всего записей: 73 | Зарегистр. 24-12-2007 | Отправлено: 21:34 11-05-2008
    igor_andreev

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    11100
    http://www.p-nand-q.com/download/regdiff.html

    Всего записей: 1671 | Зарегистр. 08-12-2004 | Отправлено: 22:10 11-05-2008
    A_H

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый день. Есть вопрос к теме о замене кирилицы латиницей. Предложенное решение не работает.  
    1. Замена происходит без учёта регистра символов. Результат замены  
     
    SET "word=%word:М=M%"  
    и  
    SET "word=%word:м=m%"  
     
    зависит от того, что раньше встретится: Получаем Мм -> MM или mm.  
     
    2. Конструкция SET "word=%word:М=M%" не работает. Работает SET word=%word:М=M%  
     
    От чего это может зависеть? От настроек?

    Всего записей: 2 | Зарегистр. 12-05-2008 | Отправлено: 02:30 12-05-2008
    Tipulatoid



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    A_H
     

    Цитата:
    Есть вопрос к теме о замене кирилицы латиницей.

     
    Так устроит?
     

    Код:
    @echo off
    setlocal enabledelayedexpansion
     
    set word=Привет, мир 0987654321
    echo %word%
     
    set count=0
     
    :next
    if "!word:~%count%,1!" NEQ "" (
       set /a count+=1
     
       if "!word:~%count%,1!" equ "а" set "newword=%newword%a" & goto :next
       if "!word:~%count%,1!" equ "б" set "newword=%newword%b" & goto :next
       if "!word:~%count%,1!" equ "в" set "newword=%newword%v" & goto :next
       if "!word:~%count%,1!" equ "г" set "newword=%newword%g" & goto :next
       if "!word:~%count%,1!" equ "д" set "newword=%newword%d" & goto :next
       if "!word:~%count%,1!" equ "е" set "newword=%newword%e" & goto :next
       if "!word:~%count%,1!" equ "ё" set "newword=%newword%e" & goto :next
       if "!word:~%count%,1!" equ "ж" set "newword=%newword%zh" & goto :next
       if "!word:~%count%,1!" equ "з" set "newword=%newword%z" & goto :next
       if "!word:~%count%,1!" equ "и" set "newword=%newword%i" & goto :next
       if "!word:~%count%,1!" equ "й" set "newword=%newword%i" & goto :next
       if "!word:~%count%,1!" equ "к" set "newword=%newword%k" & goto :next
       if "!word:~%count%,1!" equ "л" set "newword=%newword%l" & goto :next
       if "!word:~%count%,1!" equ "м" set "newword=%newword%m" & goto :next
       if "!word:~%count%,1!" equ "н" set "newword=%newword%n" & goto :next
       if "!word:~%count%,1!" equ "о" set "newword=%newword%o" & goto :next
       if "!word:~%count%,1!" equ "п" set "newword=%newword%p" & goto :next
       if "!word:~%count%,1!" equ "р" set "newword=%newword%r" & goto :next
       if "!word:~%count%,1!" equ "с" set "newword=%newword%s" & goto :next
       if "!word:~%count%,1!" equ "т" set "newword=%newword%t" & goto :next
       if "!word:~%count%,1!" equ "у" set "newword=%newword%u" & goto :next
       if "!word:~%count%,1!" equ "ф" set "newword=%newword%f" & goto :next
       if "!word:~%count%,1!" equ "х" set "newword=%newword%kh" & goto :next
       if "!word:~%count%,1!" equ "ц" set "newword=%newword%ts" & goto :next
       if "!word:~%count%,1!" equ "ч" set "newword=%newword%ch" & goto :next
       if "!word:~%count%,1!" equ "ш" set "newword=%newword%sh" & goto :next
       if "!word:~%count%,1!" equ "щ" set "newword=%newword%sh" & goto :next
       if "!word:~%count%,1!" equ "ъ" set "newword=%newword%'" & goto :next
       if "!word:~%count%,1!" equ "ы" set "newword=%newword%y" & goto :next
       if "!word:~%count%,1!" equ "ь" set "newword=%newword%'" & goto :next
       if "!word:~%count%,1!" equ "э" set "newword=%newword%e" & goto :next
       if "!word:~%count%,1!" equ "ю" set "newword=%newword%yu" & goto :next
       if "!word:~%count%,1!" equ "я" set "newword=%newword%ya" & goto :next
     
       if "!word:~%count%,1!" equ "А" set "newword=%newword%A" & goto :next
       if "!word:~%count%,1!" equ "Б" set "newword=%newword%B" & goto :next
       if "!word:~%count%,1!" equ "В" set "newword=%newword%V" & goto :next
       if "!word:~%count%,1!" equ "Г" set "newword=%newword%G" & goto :next
       if "!word:~%count%,1!" equ "Д" set "newword=%newword%D" & goto :next
       if "!word:~%count%,1!" equ "Е" set "newword=%newword%E" & goto :next
       if "!word:~%count%,1!" equ "Ё" set "newword=%newword%E" & goto :next
       if "!word:~%count%,1!" equ "Ж" set "newword=%newword%Zh" & goto :next
       if "!word:~%count%,1!" equ "З" set "newword=%newword%Z" & goto :next
       if "!word:~%count%,1!" equ "И" set "newword=%newword%I" & goto :next
       if "!word:~%count%,1!" equ "Й" set "newword=%newword%I" & goto :next
       if "!word:~%count%,1!" equ "К" set "newword=%newword%K" & goto :next
       if "!word:~%count%,1!" equ "Л" set "newword=%newword%L" & goto :next
       if "!word:~%count%,1!" equ "М" set "newword=%newword%M" & goto :next
       if "!word:~%count%,1!" equ "Н" set "newword=%newword%N" & goto :next
       if "!word:~%count%,1!" equ "О" set "newword=%newword%O" & goto :next
       if "!word:~%count%,1!" equ "П" set "newword=%newword%P" & goto :next
       if "!word:~%count%,1!" equ "Р" set "newword=%newword%R" & goto :next
       if "!word:~%count%,1!" equ "С" set "newword=%newword%S" & goto :next
       if "!word:~%count%,1!" equ "Т" set "newword=%newword%T" & goto :next
       if "!word:~%count%,1!" equ "У" set "newword=%newword%U" & goto :next
       if "!word:~%count%,1!" equ "Ф" set "newword=%newword%F" & goto :next
       if "!word:~%count%,1!" equ "Х" set "newword=%newword%Kh" & goto :next
       if "!word:~%count%,1!" equ "Ц" set "newword=%newword%Ts" & goto :next
       if "!word:~%count%,1!" equ "Ч" set "newword=%newword%Ch" & goto :next
       if "!word:~%count%,1!" equ "Ш" set "newword=%newword%Sh" & goto :next
       if "!word:~%count%,1!" equ "Щ" set "newword=%newword%Sh" & goto :next
       if "!word:~%count%,1!" equ "Ъ" set "newword=%newword%'" & goto :next
       if "!word:~%count%,1!" equ "Ы" set "newword=%newword%Y" & goto :next
       if "!word:~%count%,1!" equ "Ь" set "newword=%newword%'" & goto :next
       if "!word:~%count%,1!" equ "Э" set "newword=%newword%E" & goto :next
       if "!word:~%count%,1!" equ "Ю" set "newword=%newword%Yu" & goto :next
       if "!word:~%count%,1!" equ "Я" set "newword=%newword%Ya" & goto :next
     
       set "newword=%newword%!word:~%count%,1!" & goto :next
    )
     
    echo %newword%

    Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 12:10 14-05-2008 | Исправлено: Tipulatoid, 15:05 14-05-2008
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Tipulatoid, чем перечислять все цифры и знаки препинания - наверно лучше сделать так:
     

    Код:
    :next
    if "!word:~%count%,1!" NEQ "" (
       set /a count+=1  
       if "!word:~%count%,1!" equ "А" set "newword=%newword%A" & goto :next
    ...
        if "!word:~%count%,1!" equ "я" set "newword=%newword%ya" & goto :next
        set "newword=%newword%!word:~%count%,1!" & goto :next
    )


    Всего записей: 2920 | Зарегистр. 25-04-2007 | Отправлено: 13:02 14-05-2008 | Исправлено: wolf0425, 13:03 14-05-2008
    Tipulatoid



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    wolf0425
    Да, круто. Этот момент я не додумал. Исправил.

    Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 15:06 14-05-2008 | Исправлено: Tipulatoid, 15:07 14-05-2008
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    задача: проверка и восстановление системных файлов с жёсткого диска
    копируем папку i386 в корень системного раздела
    накидал такой код
     
    Код:
    @echo off
    for /f "tokens=3" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v "SourcePath"') do set old=%%a
    reg
    add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v "Installation Sources" /t REG_MULTI_SZ /d "%systemdrive%\\" /f
    reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v "SourcePath" /d "%systemdrive%\\" /f
    reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v "ServicePackSourcePath" /d "%systemdrive%\\" /f
    reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "SourcePath" /d "%systemdrive%\i386" /f
    sfc/scannow
    reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v "Installation Sources" /t REG_MULTI_SZ /d "%old%\" /f
    reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v "SourcePath" /d "%old%\" /f
    reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v "ServicePackSourcePath" /d "%old%\" /f
    reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "SourcePath" /d "%old%i386" /f
     
    однако, выскакивает сообщение вставьте компакт-диск с windows
    как всё таки заставить выполнять системную проверку с жёсткого диска?
     
    Добавлено:
    разобрался, команда sfc не поддерживает ожидание ни командой start/w, ни меткой

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 19:06 14-05-2008 | Исправлено: Nagual, 20:27 14-05-2008
    A_H

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Спасибо за ответ. Ушёл думать.
    Подскажите pls синтаксис для замены типа:
     
    @echo off
    setlocal enabledelayedexpansion
    set alt=123
    set neu=456
    set word=asdf_123_ssdfgdf
     
    echo %wort%
    echo !word:%alt%=%neu%!
     
    pause >nul
     
    Можно ли обойтись без setlocal enabledelayedexpansion?
    %%word:%alt%=%neu%%% (было на форуме) не работает
     
    Как выглядит синтксис для %%i в цикле?
     

    Всего записей: 2 | Зарегистр. 12-05-2008 | Отправлено: 00:55 15-05-2008 | Исправлено: A_H, 02:30 15-05-2008
    max200701

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем привет есть одна проблема которую я не могу сам решить поскоку вообще не розбераюсь в написании бат файлов поєтому прошу знающих людей поьоч написать мне нужный батник заранее спасибо  
    вот сама проблема :имею батник такого содержания
    Код:
    @echo off
    :loop
    echo -----------------
    echo Start program...
    ZTnBatch -h 192.168.1.1 -p 1980 -c "poe drop poe0"
    if not errorlevel=0 (
                    echo Connect Error! Restart...
                    goto loop
                    )
    echo Connect OK! Wait ~30 sec...
    sleep 30

    это батник для реконекта адсл модема zuxel P-660 RU EE(для смены IP адреса) он отлично работает но немного не так как хочется  он реконектит модем а потом засыпает на 30 секунд чтобы успел сменится IP но время нужное на смену IPкаждый раз разное оно находится в приделах 1-40 секунд  
    Так вот сама просьба нужно сделать так чтобы он не по времени ждал а контролировал смену IP адреса и потом (после сменыIP)сам закрывался.Помогите пожалуйста оч надо

    Всего записей: 65 | Зарегистр. 27-02-2008 | Отправлено: 01:10 15-05-2008
    ATS2000

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый день!
     
    Есть батник:
     
    SET /P MN=Enter month in MM (like 05 - May, 06 - June, 10 - October etc.):
    SET /P YR=Enter year in YYYY (like 2008):
    .............
     
     
    Задача состоит в том, что необходимо из этого батника дать команду на замену полученными значениями переменных MN и YR символов xx и xxxx в строках вида '%/xx/xxxx %' в файле script.sql. xx и xxxx могут быть любыми цифрами, обозначающими месяц и год. Символы ' / % такими и являются в данном файле.  
     
    Прошу специалистов помочь в реализации.
     
     
     
     
     

    Всего записей: 276 | Зарегистр. 21-02-2005 | Отправлено: 11:32 15-05-2008 | Исправлено: ATS2000, 11:35 15-05-2008
    DiZka



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Приветствую  
    Требуется написать батник для обновления DrWeb
    Задача:
    По почте приходят обновления для DrWeb 2 архива zip
    drwXXXXX.zip и drwtoday.zip
    XXXX - каждый раз повышается т.е. версия базы (по дате создания файл всегда новее)
    в drwXXXXX.zip 2 файла drwXXXXX.vdb drwtoday.vdb
    в drwtoday.zip у файла drwtoday.vdb дата создания новее чем у drwtoday.vdb в drwXXXXX.zip
     
    требуется извлечь эти файлы, взять drwXXXXX.vdb и файл drwtoday.vdb из архива drwtoday.zip и кинуть на диск А:
     
    и второй батник скопировать файлы с дискеты (заменяя файлы если такие есть) на n-машин в сети... т.е. на расшареные папки в сети например \\comp\drweb \\comp1\drweb ... и т.д.
     
    архивы вот
    http://download.drweb.com/bases/
    ftp://ftp.drweb.com/pub/drweb/bases/drwtoday.zip
    ftp://ftp.drweb.com/pub/drweb/bases/drw44439.zip

    Всего записей: 374 | Зарегистр. 16-08-2005 | Отправлено: 12:03 15-05-2008 | Исправлено: DiZka, 12:26 15-05-2008
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ATS2000,  
    sed -i -r "s;'\x25/[0-9]{2}/[0-9]{4} \x25';'\x25/%mn%/%yr% \x25';g" script.sql

    Всего записей: 2920 | Зарегистр. 25-04-2007 | Отправлено: 13:34 15-05-2008 | Исправлено: wolf0425, 13:36 15-05-2008
    ICE_dm

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Народ, подскажите пожалуйста как можно организовать следующее:
    из под обычного пользователя запускается cmd под админской учеткой, отрабатывает, переключается на обычного пользователя и отрабатывает другой код уже под ним.

    Всего записей: 3 | Зарегистр. 08-11-2006 | Отправлено: 15:13 15-05-2008
    pgofman2

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    DiZka  
     
     
    mkdir drweb\zip
    move drweb\zip\*.zip  
    wget.exe --no-directories --timestamping --recursive --level=0 --accept=zip ftp://ftp.drweb.com/pub/drweb/bases/
    pkunzip.exe -o *.zip
    COPY *.vdb "C:\Program Files\DrWeb\"
    del *.vdb *.txt
    move *.zip drweb\zip\
    exit
     

    Всего записей: 66 | Зарегистр. 07-09-2006 | Отправлено: 18:41 15-05-2008
    Dantis

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Зравсте всем.  
     
    Можно ли с помощью батника завершить  активное соединение с интернетом. ?  (имя: Speedtouch Connection)

    Всего записей: 26 | Зарегистр. 25-03-2008 | Отправлено: 22:45 15-05-2008
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Dantis

    Код:
    rasdial "Speedtouch Connection" /DISCONNECT


    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 22:50 15-05-2008
    max200701

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Всем привет есть одна проблема которую я не могу сам решить поскоку вообще не розбераюсь в написании бат файлов поєтому прошу знающих людей поьоч написать мне нужный батник заранее спасибо  
    вот сама проблема :имею батник такого содержания  
    Код:@echo off  
    :loop  
    echo -----------------  
    echo Start program...  
    ZTnBatch -h 192.168.1.1 -p 1980 -c "poe drop poe0"  
    if not errorlevel=0 (  
                    echo Connect Error! Restart...  
                    goto loop  
                    )  
    echo Connect OK! Wait ~30 sec...  
    sleep 30  
     
     
    это батник для реконекта адсл модема zuxel P-660 RU EE(для смены IP адреса) он отлично работает но немного не так как хочется  он реконектит модем а потом засыпает на 30 секунд чтобы успел сменится IP но время нужное на смену IPкаждый раз разное оно находится в приделах 1-40 секунд  
    Так вот сама просьба нужно сделать так чтобы он не по времени ждал а контролировал смену IP адреса и потом (после сменыIP)сам закрывался.Помогите пожалуйста оч надо  

    єто хоть реально или нет?

    Всего записей: 65 | Зарегистр. 27-02-2008 | Отправлено: 23:57 15-05-2008
       

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 5
    vu1tur (04-11-2008 23:07): Задачи на bat-файлах 6


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.Board 2000-2020

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru

    Рейтинг.ru