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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230

Открыть новую тему     Написать ответ в эту тему

KLASS



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Старые и смежные темы: по CMD и в Программах | по PowerShell | В помощь системному администратору | Прикладное программирование

PowerShell
Версии | Ассоциация и подпись сценариев
Сценарий для ассоциации файлов PowerShell и запуска неподписанных скриптов.
 
Прочее
Расширение возможностей
Функции
Write-Color
Output-DebugString
Провайдеры
Готовые скрипты
Полезные ссылки | Будет ли репозиторий PowerShell на ru-board?
Книги в PDF
Cheat Sheets
 

Cmd
Для перекодирования кириллицы 866<—>1251 пользуйтесь онлайн сервисом Перекодировщик кириллицы
 
Готовые решения и частые вопросы
 
Описания работы команд и символов участниками темы:
setlocal enabledelayedexpansion и переменные окружения
символы & и && в командной строке
Переменная %0
 
Полезные ссылки и утилиты

WSH (VBScript, JScript)
Программирование "удобняшек" на VBScript

Примечания:
• Большие куски кода заключайте в тэг [ more ]
• Чтобы не копировались концевые пробелы из форума, жмите на ссылку "Редактировать" в посте, и уже из редактора копируйте код без пробелов иначе сценарий может работать неправильно. Также для удаления концевых пробелов пользуйтесь скриптом от Nagual, или VBS-Скрипт-Модулем от ViSiToR.
• Сторонние консольные утилиты можно использовать только в виде готового решения и только в рамках сценариев. Никаких обсуждений и обучений работе с утилитами не предусмотрено и прямо запрещено правилами топика.
Шапка и около-темные вопросы |

Всего записей: 11450 | Зарегистр. 12-10-2001 | Отправлено: 13:40 17-02-2018 | Исправлено: YuS 2, 08:24 19-06-2021
ipmanyak



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

Цитата:
Невозможно загрузить файл C:\test\Duncan_MacLeod.ps1, так как выполнение сценариев отключено в э
той системе. Для получения дополнительных сведений см. about_Execution_Policies по адресу https:/go.microsoft.com/fwlin  

https://winnote.ru/security/160-windows-powershell.-vypolnenie-scenariev-otklyucheno-v-etoy-sisteme.html
выдай указанную там команду 1 раз


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

Всего записей: 11972 | Зарегистр. 10-12-2003 | Отправлено: 13:27 29-10-2019
i81

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Отработал скрипт, но теперь самое главное исключение не выполнилось: Скрипт удалил все файлы без "измен[её]нный", даже если не присутствует дубль с изменённым (первый вариант скрипта так не делал).  
 
Если приминительно к моем первому примеру в папке с файлами были ещё файлы CIMG0010.JPG, CIMG0011.JPG, CIMG0012.JPG - то они тоже удалились, хотя не должны были т.к. файлов-дублей не существовало.

Всего записей: 330 | Зарегистр. 08-04-2006 | Отправлено: 13:47 29-10-2019
YuS_2



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

Цитата:
но теперь самое главное исключение не выполнилось


Цитата:
CIMG0010.JPG, CIMG0011.JPG, CIMG0012.JPG - то они тоже удалились

Я же написал, даже дважды:

Цитата:
ЗЫ Ещё разок напоминаю, что последний скрипт  29-10-2019 был исправлен...
 29-10-2019

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 14:34 29-10-2019
ipmanyak



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
i81 Тебе было сказано уже 2 раза! Постановка задачи - это главное. На ТЗ уходит 90% времени, на кодерство - 10% .
По большому счету тебе не нужны никакие скрипты, открой для себя  программы файловые менеджеры  FAR или Total Commander. Ими  копируешь сначала файлы из всех подкаталогов в один каталог, при совпадении имен файлов будет выдан запрос и указан размер обоих файлов и дата/время модификации, принимаешь решение перекрыть или пропустить. Потом в этом каталоге  выделяешь нужную группу файлов по шаблону "*-измененный.jpg"   или "CIMG*.JPG"  и перемещаешь в другой каталог. Потом удаляешь ненужное.    


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

Всего записей: 11972 | Зарегистр. 10-12-2003 | Отправлено: 14:40 29-10-2019 | Исправлено: ipmanyak, 14:42 29-10-2019
YuS_2



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

Цитата:
Потом удаляешь ненужное.

При большом количестве файлов, наверное, будет непросто отобрать это ненужное, особенно, при условии, что определяющим является не наличие вставки "измененный", а размер именно...
 
Добавлено:
i81

Цитата:
были ещё файлы CIMG0010.JPG, CIMG0011.JPG, CIMG0012.JPG

И да: вот откуда взялись эти наименования? Лучше сразу озвучивать все возможные варианты, чтобы можно было составить правильный шаблон регэкспа.

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 14:44 29-10-2019
VVL99

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

Цитата:
Можно, только вопрос в конечной цели
Тут надо подумать.

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 15:24 29-10-2019
i81

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

Цитата:
Постановка задачи - это главное.

Та блин! Чем я тут не корректно поставил задачу? Есть папка с файлами нужно найти пару файлов удовлетворяющих условию частичного совпадения имени ( {имя}.jpg {имя}-{приставка}.jpg и удалить из этой найденной пары файл меньшего объёма.
 

Цитата:
вот откуда взялись эти наименования?

в том же, первом, посте я писал что это за файлы - это все файлы, которые есть в моём Google фото за очень много лет. Мало того, что за это время менялись телефоны - соответственно менялся шаблон имени файла, так я ещё и загружал туда другие фото руками.  

Всего записей: 330 | Зарегистр. 08-04-2006 | Отправлено: 06:30 30-10-2019
YuS_2



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

Цитата:
Чем я тут не корректно поставил задачу? Есть папка с файлами нужно найти пару файлов удовлетворяющих условию частичного совпадения имени ( {имя}.jpg {имя}-{приставка}.jpg

Ну, вот смотри, подойдет ли под такой шаблон вот это имя:
измененный-20140118_120044.jpg
?
В общем, если префикс или суффикс, только в таком виде бывают: "измененный-....jpg" или "...-измененный.jpg", тогда код будет таким:

Код:
function get-dubldigitname {
    param (
        [parameter(mandatory=$true,valuefrompipeline=$true)]
        $source
    )
    process {
        if($source.basename -match $pattern){
            $a = $source.basename -replace $pattern
            dir "$folder" -inc $flt -rec -file|
            ? name -match $a|sort length -d|select -skip 1
        }
    }
}
 
$folder = '1'
$flt = '*.jpg'
$pattern = 'измен[её]нный-|-измен[её]нный'
 
($arr = dir "$folder" -inc $flt -rec -file)|get-dubldigitname |del

Но, что-то мне подсказывает, что найдутся таки дубликаты и без таких суффиксов или префиксов...
 
Добавлено:
i81
КОД ИЗМЕНЁН, проверьте ещё раз
 
Добавлено:
i81

Цитата:
Та блин!

Теперь смотри, сразу предупреждаю:
Код работает строго по твоему ТЗ, но может случиться такая ситуация:

Цитата:
name1234-измененный.jpg
name1234.jpg
name123456.jpg
измененный-name123456.jpg

 
- для скрипта, это будут дубликаты ОДНОГО файла, из которых останется только один.
В том смысле, что ТЗ неполное... надо бы уточнение для такой ситуации. Файлы с суффиксом и префиксом существуют только в единственном экземпляре или возможно существование дубликатов более одного?  
И вообще, в принципе, дублей может быть больше одного, либо только парами существуют?

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 08:36 30-10-2019 | Исправлено: YuS_2, 09:24 30-10-2019
i81

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

Цитата:
может случиться такая ситуация:  

Ситуация не хорошая.
А можно не брать любые символы в качестве приставки, а только "-измененный"?
Как я успел заметить - больше всего файлов google наплодил именно с этой приставкой.

Всего записей: 330 | Зарегистр. 08-04-2006 | Отправлено: 09:20 30-10-2019 | Исправлено: i81, 09:21 30-10-2019
YuS_2



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

Цитата:
Ситуация не хорошая.

Она поправима.
 

Цитата:
А можно не брать любые символы в качестве приставки, а только "-измененный"?

В качестве суффикса или префикса и так берется только:

Цитата:
$pattern = 'измен[её]нный-|-измен[её]нный'

 
Вот, поправленный код, исключающий вышеописанную ситуацию:

Код:
function get-dubldigitname {
    param (
        [parameter(mandatory=$true,valuefrompipeline=$true)]
        $source
    )
    process {
        if($source.basename -match $pattern){
            $a = $source.basename -replace $pattern
            $tmp = dir "$folder" -inc $flt -rec -file|? basename -eq $a
            ,$source+$tmp|sort length -d|select -skip 1
        }
    }
}
 
$folder = 'd:\TEST'
$flt = '*.jpg'
$pattern = 'измен[её]нный-|-измен[её]нный'
 
($arr = dir "$folder" -inc $flt -rec -file)|get-dubldigitname |del

Но в этом случае, в подкаталогах, могут сохраняться дубликаты:

Цитата:
D:\TEST\
  name1234-измененный.jpg
  name1234.jpg
  name123456.jpg
  измененный-name123456.jpg
  D:\TEST\1\
    name1234-измененный.jpg
    name1234.jpg

Здесь в одном проходе будут удалены копии (с учетом размера, конечно) так:

Цитата:
D:\TEST\
  name1234.jpg
  name123456.jpg
  D:\TEST\1\
    name1234-измененный.jpg
 

 
Т.е. чтобы всё правильно отрабатывало, должно выполняться условие, что дубликат файла с префиксом или суффиксом, должен быть в единственном числе, в том числе и в подкаталогах.
И не должно быть таких дубликатов:

Цитата:
name1234.jpg
name1234-измененный.jpg
измененный-name1234.jpg

- скрипт их может не распознать как дубликаты и будет существовать два файла... при условии, что они будут существовать в таком варианте:

Цитата:
name1234-измененный.jpg
измененный-name1234.jpg

- для скрипта, это будут два разных файла

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 09:39 30-10-2019 | Исправлено: YuS_2, 10:11 30-10-2019
i81

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

Цитата:
Но в этом случае, в подкаталогах, могут сохраняться дубликаты:  
 
Цитата:
D:\TEST\  
  name1234-измененный.jpg  
  name1234.jpg  
  name123456.jpg  
  измененный-name123456.jpg  
  D:\TEST\1\  
    name1234-измененный.jpg  
    name1234.jpg
 
Здесь в одном проходе будут удалены копии (с учетом размера, конечно) так:  
 
Цитата:
D:\TEST\  
  name1234.jpg  
  name123456.jpg  
  D:\TEST\1\  
    name1234-измененный.jpg  
 
 
 

В Вашем примере получается файлы D:\TEST\name1234.jpg и D:\TEST\name123456.jpg  и больше по размеру, чем ихние "изменённые" варианты - потому они и остались?
 
Добавлено:

Цитата:
Цитата:
name1234-измененный.jpg  
измененный-name1234.jpg
 
- для скрипта, это будут два разных файла.

Вообще по-моему таких измененный-name1234.jpg файлов нет.
 
Большое спасибо Вам. Проверю чуть по позже.

Всего записей: 330 | Зарегистр. 08-04-2006 | Отправлено: 09:56 30-10-2019 | Исправлено: i81, 10:01 30-10-2019
YuS_2



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

Цитата:
В Вашем примере получается файлы D:\TEST\name1234.jpg и D:\TEST\name123456.jpg  и больше по размеру, чем ихние "изменённые" варианты - потому они и остались?

Да, размер учитывается в любом случае...
 
Что-то я тут сам запутался, пока писал описание и экспериментировал...
В общем, есть обязательное условие:
Не должно быть больше одной копии файла с префиксом или суффиксом, иначе возможны коллизии.
 

Цитата:
Вообще по-моему таких измененный-name1234.jpg файлов нет.

В условиях это было, здесь:
 29-10-2019

Цитата:
1. В этой же директории (дереве вложенных директорий) имеется файл с таким же именем, но с приставкой в конце (начале).

 
 
Добавлено:
i81
Чтобы проанализировать наличие различных имен файлов, выполните скрипт:

Код:
$folder = 'd:\TEST'
$flt = '*.jpg'
(dir $folder -inc $flt -rec -file).name|sort|out-file out.txt -enc utf8

получите файл out.txt с отсортированным списком всех имен файлов, его проанализировать будет легче, чем прыгать по каталогам.

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 10:17 30-10-2019
farag



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как можно совместить в одну таблицу (колонки Model и VRAM) вывод из двух мест?
Захотел обновить некро-скрипт для вывода объем видеопамяти в силу того, что AdapterRAM имеет тип uint32 и больше 4 ГБ не увидит. Посему

Код:
 
Get-CimInstance -ClassName CIM_VideoController
 

уже не прокатывает в силу большого объема видеопамяти у современных видеокарт.
 
https://pastebin.com/raw/ie2WJRYn
 
Исправил сам: https://pastebin.com/gCWtrFdU
 

Всего записей: 2522 | Зарегистр. 27-07-2009 | Отправлено: 12:48 30-10-2019 | Исправлено: farag, 12:10 05-11-2019
iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
i81
Я вчера на ночь глядя, тоже делал, пока не уснул
Получился такой скрипт: script.ps1 выводит список файлов меньшего размера
 
Пример использования:
$Files = Get-ChildItem -LiteralPath "<путь к папке с фотками>" -Include *.jpg -Recurse -File
К:\Скрипту\путь\Script.ps1 -Files $Files -Prefix 'измененный-' -Suffix '-измененный' | Format-Table FullName, Length

если список файлов, тот, что надо, то: Format-Table FullName, Length можно заменить на: [Re]move
 
Добавлено:
farag
У меня только встройка, трудно понять вопрос.
Если правильно понял, то в первом блоке IF надо тоже использовать
Код:
[PSCustomObject] @{
            Model =  
            "VRAM, GB" =  
        }

С одинаковыми именами(заголовками) и не использовать: | Format-Table -AutoSize -Wrap | Out-String).Trim()


Второй блок IF, я так понимаю, для дискретной?

Код:
IF ((Get-CimInstance -ClassName CIM_VideoController | Where-Object -FilterScript {$_.AdapterDACType -eq "Internal"}))
{
    $qwMemorySize = (Get-ItemProperty -Path "HKLM:\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0*" -Name HardwareInformation.qwMemorySize -ErrorAction SilentlyContinue)."HardwareInformation.qwMemorySize"
    $VRAM = [math]::round($qwMemorySize/1GB)
    $Caption = @{
        Name = "Model"
        Expression = {$_.Caption}
    }
    Get-CimInstance -ClassName CIM_VideoController | Where-Object -FilterScript {$_.AdapterDACType -ne "Internal"} | ForEach-Object -Process {
        [PSCustomObject] @{
            Model = $Caption
            "VRAM, GB" = $VRAM
        }
    }
}
Выделенное в коде красным не должно быть -ne ?

Всего записей: 3650 | Зарегистр. 16-08-2012 | Отправлено: 15:58 30-10-2019
YuS_2



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

Цитата:
У меня только встройка, трудно понять вопрос.

Вопрос в том, что:
uint32 - от 0 до 4 294 967 295
то бишь, если памяти будет более 4Гб, WMI её не покажет, ибо отображает её в байтах.  
Необходимо другое средство определения объема памяти видеокарты, что дискретной, что встроенной.

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 18:13 30-10-2019
farag



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_2
iNNOKENTIY21
Все, сам допер, как всегда.
Так работает правильно: https://github.com/farag2/PC-information/blob/master/PC.ps1#L174

Всего записей: 2522 | Зарегистр. 27-07-2009 | Отправлено: 18:27 30-10-2019
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
farag
Ничего не понял, а это-то откуда берет инфу:

Код:
$_.AdapterRAM

вот тут:

Код:
Expression = {[math]::round($_.AdapterRAM/1GB)}

? там же конвейера нет...
То, что из реестра выдергивается инфа о размере памяти - понятно. Но WMI-то никак не обойти, у него же ограничение...

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 18:44 30-10-2019 | Исправлено: YuS_2, 18:45 30-10-2019
iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
farag
Вывод бы показал, а то я в темноте с одной встройкой, чего правильно выводиться стало
 
 
YuS_2
Цитата:
Ничего не понял, а это-то откуда берет инфу:  

по конвейеру: Select-Object -Property $Caption, $VRAM (хоть и присваивается выше в коде, но вычисляется здесь, в момент обращения)
где: $_ = Get-CimInstance -ClassName CIM_VideoController | Where-Object -FilterScript {$_.AdapterDACType -eq "Internal"}
что становится: (Get-CimInstance -ClassName CIM_VideoController | Where-Object -FilterScript {$_.AdapterDACType -eq "Internal"}).AdapterRAM/1GB

Всего записей: 3650 | Зарегистр. 16-08-2012 | Отправлено: 19:08 30-10-2019 | Исправлено: iNNOKENTIY21, 19:21 30-10-2019
YuS_2



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

Цитата:
по конвейеру: Select-Object -Property $Caption, $VRAM

По какому конвейеру?
 

Цитата:
где: $_ = Get-CimInstance -ClassName CIM_VideoController | Where-Object -FilterScript {$_.AdapterDACType -eq "Internal"}  
что становится: (Get-CimInstance -ClassName CIM_VideoController | Where-Object -FilterScript {$_.AdapterDACType -eq "Internal"}).AdapterRAM/1GB

- Исходя из этого, должно быть так:

Код:
if(('a'|? {$_ -eq 'a'})){$_}

Но этого нет...
Вот, про что я говорю:


Код:
#region Video сontrollers
# Integrated graphics
IF ((Get-CimInstance -ClassName CIM_VideoController | Where-Object -FilterScript {$_.AdapterDACType -eq "Internal"}))
{
    $Caption = @{
        Name = "Model"
        Expression = {$_.Caption}
    }
    $VRAM = @{
        Name = "VRAM, GB"
        Expression = {[math]::round($_.AdapterRAM/1GB)}
    }
    Get-CimInstance -ClassName CIM_VideoController | Where-Object -FilterScript {$_.AdapterDACType -eq "Internal"} | Select-Object -Property $Caption, $VRAM
}
# Dedicated graphics
IF ((Get-CimInstance -ClassName CIM_VideoController | Where-Object -FilterScript {$_.AdapterDACType -ne "Internal"}))
{
    $qwMemorySize = (Get-ItemProperty -Path "HKLM:\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0*" -Name HardwareInformation.qwMemorySize -ErrorAction SilentlyContinue)."HardwareInformation.qwMemorySize"
    $VRAM = [math]::round($qwMemorySize/1GB)
    Get-CimInstance -ClassName CIM_VideoController | Where-Object -FilterScript {$_.AdapterDACType -ne "Internal"} | ForEach-Object -Process {
        [PSCustomObject] @{
            Model = $_.Caption
            "VRAM, GB" = $VRAM
        }
    }
}
#endregion Video сontrollers

 
Всё, дошло уже, там скриптблок, который используется чуть ниже...
 
Добавлено:
Но этот вопрос актуален:

Цитата:
Но WMI-то никак не обойти, у него же ограничение...

WMI, как был параметр AdapterRAM - uint32, так он им и остался... в скрипте не видно, чтобы его заменили чем-то...

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 19:26 30-10-2019 | Исправлено: YuS_2, 19:36 30-10-2019
iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_2
Первый IF блок для встройки, бывают выше 4ГБ ?
Второй IF блок для дискретной, там из реестра берётся

Всего записей: 3650 | Зарегистр. 16-08-2012 | Отправлено: 19:45 30-10-2019
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru