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

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

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

KLASS (06-03-2018 00:44): Объединение тем по сценариям: Сценарии Windows
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

hErAx

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

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

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

  • Отправлено: 01:53 25-10-2015 | Исправлено: Paromshick, 21:51 18-12-2017
    jFobos



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите пожалуйста, что не так? У меня есть файлик со списком ip адресов, надо для каждого из них запустить утилиту (curl если имеет значение).
     
    Вот что я написал:

    Код:
    @echo off
     
    set "file=list.txt"
    cd bin
    for /f "delims=" %%a in ('findstr /r /c:[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*:[0-9][0-9]* "..\\%file%"') do (
        set ip=%%a
        set "output=%ip::=_%"
     
        echo "A" %%a
        echo "IP" %ip%
        echo "output" %output%
        rem тут запуск утилиты
    )

     
    И вот какой вывод я получаю (в файлике 2 строки):

    Код:
    D:\pc>update.bat        
    "A" 192.168.87.130:80
    "IP"                      
    "output"                  
    "A" 192.168.87.131:80
    "IP"                      
    "output"                  

     
    Почему в переменной %ip% пусто? Я не могу провести замену знака : на знак подчеркивания.
     
    ps: findstr использую так как нет уверенности что все строки в файле будут корректными ip адресами
     
     
    upd:
    Прочел о setlocal enabledelayedexpansion, заменил % на ! и заработало... А без этого никак?

    Всего записей: 452 | Зарегистр. 03-12-2007 | Отправлено: 10:18 30-07-2017 | Исправлено: jFobos, 10:27 30-07-2017
    Pasha_ZZZ



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    jFobos
    Цитата:
    А без этого никак?
    Можно, если всю обработку выполнять в отдельной процедуре.
    Цитата:
    .......) do call :ProcIP %%a
    goto :eof
     
    :ProcIP
    set ip=%1
    .......... и так далее

    Всего записей: 12375 | Зарегистр. 11-03-2002 | Отправлено: 10:45 30-07-2017 | Исправлено: Pasha_ZZZ, 10:46 30-07-2017
    jFobos



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

    Всего записей: 452 | Зарегистр. 03-12-2007 | Отправлено: 11:54 30-07-2017
    aVitaliy



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

    Цитата:
    Почему не интересна? Очень даже интересна. Так как решение я не нашел, а руками делать все это просто занимает кучу времени. Насчет Powershell я просто не в курсе, я впервые узнал о нем из твоего поста. Почему спрашивал как это сделать на батнике, потому как с батником хоть как-то "шапочно" знаком. Но в принципе мне все равно как это будет реализовано, мне просто нужно с этого сайта получать периодически список "игр" без лишних данных - http://steamkeys.ovh/  

     
     

    Цитата:
    Код:
    @echo off  
    echo Выполняем...  
    powershell -executionpolicy bypass "&{$a=gc test.txt -enc UTF8;$a|%%{$_ -replace '^(?>\d+|объявлено)\t(.+?)\t.+','$1'}|out-file -enc UTF8 test_out.txt}"  
    echo Готово.  
    pause
     
    Ctrl+A, Ctrl+C на странице сайта  
    Вставляем в текстовом редакторе все, что скопировали и сохраняем в файле test.txt (название, конечно же, можно изменить в скрипте) в кодировке UTF8, запускаем скрипт и на выходе получим то, что требовалось в файле test_out.txt ... всё.

     

    Цитата:
    Код:
    @echo off  
    echo Выполняем...  
    FOR /F "usebackq tokens=2 delims=    " %%a IN (test.txt) DO (ECHO %%aa)>>test_out.txt  
    echo Готово.  
    pause
     
    Ctrl+A, Ctrl+C на странице сайта  
    Вставляем в текстовом редакторе все, что скопировали и сохраняем в файле test.txt (название, конечно же, можно изменить в скрипте) в кодировке WIN1251 или CP866, запускаем скрипт и на выходе получим то, что требовалось в файле test_out.txt ... всё.  
     
    PS - чисто для сравнения.  
    PPS - структура информации на сайте и структура ранее предоставленного образца разная(разделитель колонок <TAB> а не пробелы) поэтому разбор проще.

     
    Похоже изменили отображение на сайте данных. Так что теперь не работает, ни один из этих методов. Так же не работает обычное копирование в Эксел. Можно как-то это исправить?

    Всего записей: 84 | Зарегистр. 11-01-2006 | Отправлено: 17:15 30-07-2017 | Исправлено: aVitaliy, 17:16 30-07-2017
    YuS_2



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

    Цитата:
    Можно как-то это исправить?

    Никак это не исправить. Там не формат и не отображение изменили, а ввели проверку на робота, т.е. капчу:

    Цитата:
    Для просмотра каталога надо доказать, что вы не робот.

    эта задача не для batch-сценариев...

    Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 22:16 01-08-2017
    aVitaliy



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

    Цитата:
    эта задача не для batch-сценариев...

    Там каптча была почти с самого начала существования сайта, после нее загружается список с играми - http://steamkeys.ovh/
    Так что ваши выводы крайне не верны. Тем более мне не нужно выполнять сценарий чтобы ввести капчу, ее я всегда вводил в ручную, точнее нажимал галочку для продолжения...
     
    В итоге, теперь список выглядит так:

    Код:
    5    Ball of Light    
    0.56  
    0.58  
    0.87  
    0.9  
    0.99  
    3690    99р.
    6    ORBITAL    
    0.65  
    0.65  
    0.65  
    0.68  
    0.75  
    4753    29р.
    5    The Astral Hero    
    0.67  
    0.67  
    0.67  
    0.71  
    1.67  
    2357    29р.
    5    KORABLIK    
    0.68  
    0.68  
    0.71  
    0.72  
    0.99  
    1118    29р.
    5    Doomed Kingdoms    
    0.7  
    0.72  
    0.74  
    0.74  
    0.74  
    3423    120р.  

     
    До этого список выглядел вот так, предыдущее мое сообщение:
     

    Цитата:
    Помогите составить BAT файл чтобы сделал выборку из заранее приготовленного файла или сразу с сайта. Собственно чтобы было понятно что я имел в виду приведу сразу на пример.  
     
    Есть такие данные:  

    Код:
    5    CRACKHEAD    1.3 (4317)    1.31 (9970)    1.31 (6672)    1.5 (310)    1.59 (1995)    7397    79р.  
    5    Infinitum    1.3 (5175)    1.64 (8829)    1.9 (3473)    2 (1715)         2829    129р.  
    5    Case #8    1.31 (2752)    1.37 (1866)    2.49 (926)              2584    99р.  
    5    Experience    1.31 (3791)    1.32 (1)    1.47 (1964)    1.55 (6111)    1.99 (1896)    2837    59р.  
    7    The Butterfly Sign    1.31 (4648)    1.31 (2451)    1.37 (5497)    2.3 (353)         2319    199р.  
    5    Dexodonex    1.31 (1384)    1.32 (2601)    1.99 (1402)    2 (1168)         2353    59р.

     
     
    Надо сделать чтобы в итоге осталось как-то так:  

    Код:
    CRACKHEAD  
    Infinitum  
    Case #8  
    Experience  
    The Butterfly Sign  
    Dexodonex

     

     
     

    Всего записей: 84 | Зарегистр. 11-01-2006 | Отправлено: 08:54 02-08-2017 | Исправлено: aVitaliy, 09:04 02-08-2017
    villa777



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребята, такая проблема. Beeline по 10-15 раз на дню обрывает соединение интернет, дозвониться до них невозможно, сменить провайдера тоже, приходиться терпеть. При обрыве соединения нужно обязательно перезагружать модем, иначе сам не соединится. Задача. Нужно чтобы при пропадании интернета автоматом перезагружался модем и подавался звуковой сигнал. Есть два файла, reboot модема и звуковой beep, как бы теперь это всё в одно реализовать. То есть нужен ещё пинг интернета и чтобы при обрыве запускал эти два файла. Или свой один файл напишите, мне разницы нет, лишь бы работало.
    Файлы - http://rgho.st/6qDdPmyft

    Всего записей: 2773 | Зарегистр. 22-06-2011 | Отправлено: 11:15 02-08-2017
    YuS_2



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

    Цитата:
    не нужно выполнять сценарий чтобы ввести капчу, ее я всегда вводил в ручную, точнее нажимал галочку для продолжения...  

    Тогда пробуйте так:

    Код:
    (gc test.txt -raw -enc UTF8) -replace '[^\t\r\n]+\s*([^\t\r\n]+)[^\n\r]+','$1' -replace '[\n\r]+\d+[^\w\s]?[^\n\r]*'|out-file -enc UTF8 test_out.txt

    - код powershell, который можно, при желании, поместить в батник... выше был пример.

    Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 13:53 02-08-2017
    BorlandIMHO

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    villa777
    Вопрос поднимался в "испорченной" 11-й части темы (а может и где-то ранее)...
    "Вариации на тему" в моём исполнении есть тут: http://www.imho.ws/showthread.php?t=146557
    В Connect checker 1.5 (или 2.0) команда выдачи Beep из Вашего батника вставляется либо непосредственно перед, либо сразу после команды вывода в лог ("1>>"%LOGFILE%" echo Epic fail at %DATE% %TIME%. Router rebooted").
     
    P.S. За прошедшие 5 лет как w3sockets, так и TSE "потерялись", но у меня аутентичные дистрибутивы сохранились, выкладываю:
    TSE: http://borland-imho.narod.ru/soft/_tse.exe.zip
    W3Sockets: http://borland-imho.narod.ru/soft/w3Sockets.zip

    ----------
    http://www.imho.ws

    Всего записей: 2388 | Зарегистр. 12-10-2006 | Отправлено: 21:43 02-08-2017 | Исправлено: BorlandIMHO, 22:43 02-08-2017
    villa777



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BorlandIMHO
    Честно попробовал разобраться, но для меня это тёмный лес. Никогда подобным не занимался, консоли, команды, библиотеки, и т.д. В свои 58 учиться уже поздновато. Мне бы готовое, одним архивом, и на пальцах что куда ложить, что запускать, если не трудно конечно.
     
    Вдруг понадобится.
    WinXP
    mоdem - 192.168.1.1

    Всего записей: 2773 | Зарегистр. 22-06-2011 | Отправлено: 00:50 03-08-2017 | Исправлено: villa777, 03:14 03-08-2017
    ipmanyak



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    villa777 почитй тут http://blog.alfline.ru/kak-otklyuchit-ustrojstvo-iz-komandnoj-stroki-windows
     
    При проверке пингом  переменную errorlevel не стоит юзать с ping особенно в циклах, всегда будет выдавать код возврата 0. Не 0 будет, только если совсем кирдык стэку tcp/ip.
    Правильный подход -  юзать поиск TTL в пайпе. Ну и в циклах надо включать EnableDelayedExpansion и к переменной кода возврата обращаться не как %errorlevel%, а как !errorlevel! , причину уже озвучили выше.
    Вот работающий код:

    Код:
     
    @echo on                                                                    
    setlocal enabledelayedexpansion                                              
    set LOGPATH=F:\#Lab\log.txt                                                  
    set LOGPATH2=F:\#Lab\log2.txt                                                
                                                                                 
     For /F %%A in (list_comp.txt) do (                                          
       ping -n 2 %%A | find "TTL=" >NUL                                          
       IF !ERRORLEVEL! neq 0 ( echo %DATE%-%TIME% - ping %%A HREN >>%LOGPATH%    
         )  ELSE (echo %DATE%-%TIME% - ping %%A GOOD >>%LOGPATH2% )              
      )
     

     
    Почитай статью , дополни батник, думаю сам справишься


    ----------
    В сортире лучше быть юзером, чем админом...

    Всего записей: 11724 | Зарегистр. 10-12-2003 | Отправлено: 07:51 03-08-2017 | Исправлено: ipmanyak, 07:52 03-08-2017
    villa777



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ipmanyak
    Вы выше пост мой читали? Я полный ноль в этом деле. Что и куда добавить я буду целый  год разбираться, и то не уверен что разберусь. Спасибо что уделили мне время, жаль только что не для моих мозгов. Мне бы готовое, рабочее решение, для домохозяек.

    Всего записей: 2773 | Зарегистр. 22-06-2011 | Отправлено: 14:54 03-08-2017
    d0r0fey



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

    Цитата:
    На сервере windows 2012 есть одна папка, для сетевого сканера. На сервере расшарена папка, пользователь сканирует себе документ и он сканируется сразу туда, потом из своего компа они забирают из сервера.  
    Нужен какое то решение, что каждый день очистил эту папку. там папки с датой, а внутри уже файлы (PDF/JPEG).  
    Папка находится по адресу D:\\SCAN  
    надо чистить каждое 3:00 АМ.  

     
     

    Код:
     
    for /f "tokens=1,2,3 delims=. " %%i in ('date /t') do set dd=%%k-%%j-%%i
    for /f "tokens=1,2,3 delims=: " %%i in ('time /t') do set hh=%%i-%%j
    set name=d%dd%t%hh%
    set cfolder=D:\МФУ
    set trashfolder=D:\Корзина\МФУ
    md %trashfolder%\%name%
    Forfiles -p %cfolder% -s -m *.* -d -1 -c "cmd /c move /Y @path %trashfolder%\%name%"
     

     
    батник в планировщик

    Всего записей: 1364 | Зарегистр. 13-03-2009 | Отправлено: 10:09 04-08-2017
    contrafack

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    d0r0fey
     
    хорошо, спасибо, но могли бы сказать что он делает и каким образом?  
     

    Всего записей: 3308 | Зарегистр. 21-04-2008 | Отправлено: 11:22 04-08-2017
    NvvLazyTiger



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Привет.
     
    Дано: пользователь запускает батник с параметрами;
    + количество и состав параметров регламентированы.
    Например: только один параметр (обязательный);
    + допустимые значения: "one" и "two" (без кавычек).
     
    Требуется: проверить (в батнике) параметры запуска на соответствие регламенту и если:
    - соответствуют, - сделать испрошенное (например, выдать принятое на экран);
    - НЕ соответствуют, - указать на факт.
     
    Решение (очевидное):
    Код:
    @echo off
    :: допустимые значения единственного параметра
    set KeysOk=one two
    :: проверка
    if  %1. == . goto KeysBAD
    if NOT %2. == . goto KeysBAD
    set tmp1=
    for %%Z in ( %KeysOk% ) do if %1 == %%Z set tmp1=%%Z
    if NOT defined tmp1 goto KeysBAD
    :KeysOk "исполнение"
    echo %tmp1%
    goto :eof
    :KeysBAD "указание"
    echo KeysBAD
    goto :eof

    НО,.. это "решение" годится только для "тепличных" условий.
    Например, оно вылетает в аут от параметра o"n.
    И таких сочетаний символов (в качестве параметров), - более чем...
     
    Вопрос: как должна выглядеть правильная ("bulletproof") проверка для произвольного сочетания символов в параметрах запуска?
     
    NB. У меня получился приемлемый вариант только с привлечением сторонних средств (gAwk).
     
    ---
    Удачи!
    Влад.

    Всего записей: 257 | Зарегистр. 14-02-2009 | Отправлено: 16:25 05-08-2017 | Исправлено: NvvLazyTiger, 01:05 06-08-2017
    NvvLazyTiger



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вдогонку. Поясню свой интерес.
     
    Мне неприятно видеть на почившем (моём!) батнике эпитафию:
    Цитата:
    Ошибка в синтаксисе команды.
    или подобную...
     
    ... и доказывай пользователю, что проблема в нём, а не в батнике...

    Всего записей: 257 | Зарегистр. 14-02-2009 | Отправлено: 02:07 06-08-2017 | Исправлено: NvvLazyTiger, 02:16 06-08-2017
    Wukuze

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    камрады, есть чуть менее чем дофига файлов названных именем системника, так вот их скопировать надо. Код такой  
     
    copy папка откуда %hostname%.txt to папка назначения.  
     
    так вот - не пойму как мне вытащить имя компа и воткнуть в название файла

    Всего записей: 112 | Зарегистр. 25-05-2007 | Отправлено: 11:04 11-08-2017
    ipmanyak



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Wukuze  Выдай команду:
     set | more
    ознакомься с результатами , имя компа находится в системной переменной COMPUTERNAME

    Код:
     ECHO %COMPUTERNAME%  



    ----------
    В сортире лучше быть юзером, чем админом...

    Всего записей: 11724 | Зарегистр. 10-12-2003 | Отправлено: 12:20 11-08-2017 | Исправлено: ipmanyak, 12:21 11-08-2017
    VadKomarov



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    [size=5][/size]Всем здравствуйте.
    Сразу прошу прощения за такой простецкий вопрос.
    Суть такая. есть файлы они копируются в нужные папки по расширениям.
    проблема заключается вот в чем.
     
    к примеру есть файл ххххххххх_123456789.xml.ops и есть файл ххххххххх_123456789.xml[1].ops теоретически должны быть одинаковыми, но надо проверить их как то на размер и оставить больший с именем ххххххххх_123456789.xml.ops  
    это задача 1
    и потом задача 2
    есть папка(и) (5 штук) где эти файлы уже складируются (после обработки в специальном обработчике EXE) куда именно из 5 папок ляжет этот файл не известно, и так же есть папка из которой обработчик берёт эти файлы, надо определить если ли такой файл ххххххххх_123456789.xml.ops (с таким же размером) во всех этих папках, если он уже есть и с таким же размером то просто удалить а если нет то скопировать в папку для обработки и соответственно если новый файл большего размера то так же положить в обработку
     
    для более детального объяснения:
    папки с именами 0,1,2,3,4 - это папки хранения обработанных ранее файлов  
    папка Work - место откуда берутся файлы для обработки  
    проверять надо в папках 0-4 и work !!!
    и папка IN это папка в которую помещаются файлы приходящие с почты и в которой могут быть файлы с именем *[1].* - задача №1
     
    если плохо объяснил то могу более детально расписать.
     
    Заранее огромное спасибо

    Всего записей: 100 | Зарегистр. 01-05-2005 | Отправлено: 07:58 17-08-2017 | Исправлено: VadKomarov, 12:00 18-08-2017
    ipmanyak



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

    Код:
     
    @set Arg1=c:\1.txt                                                                                  
    @set Arg2=c:\2.txt                                                                                  
                                                                                                         
                                                                                                         
    @rem определим размер файла 1.txt                                                                    
    @for %%i in (%Arg1%) do (set /a size1=%%~Zi)                                                        
                                                                                                         
    @rem определим размер файла 2.txt                                                                    
    @for %%i in (%Arg2%) do (set /a size2=%%~Zi)                                                        
                                                                                                         
    @echo %size1%  %size2%                                                                              
                                                                                                         
    @if %size1% gtr %size2% (echo %Arg1% greater then %Arg2% ) else ( echo %Arg1%  smaller then %Arg2% )  

     
     
    для удаления пиши  
    del /Q  "%Arg2%"  или  "%Arg1%" в соответствующем условии
     
    операторы сравнения  
    EQU   равно
    NEQ  неравно  
    LSS  меньше
    LEQ  меньше или равно
    GTR больше
    DEQ больше или равно
     
     
    про циклы лень думать
     
     
     


    ----------
    В сортире лучше быть юзером, чем админом...

    Всего записей: 11724 | Зарегистр. 10-12-2003 | Отправлено: 13:12 17-08-2017 | Исправлено: ipmanyak, 13:22 17-08-2017
       

    Страницы: 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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 12
    KLASS (06-03-2018 00:44): Объединение тем по сценариям: Сценарии Windows


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

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru