Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах 8

Автор: vu1tur
Дата сообщения: 25.01.2010 11:40
Задачи на bat-файлах 8
(часть 1, часть 2, часть 3, часть 4, часть 5, часть 6, часть 7)
Вопросы, задачи и их решения по работе с командными файлами, а также сопутствующие ссылки.


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

Также для удаления концевых пробелов пользуйтесь скриптом от Nagual, или VBS-Скрипт-Модулем от ViSiToR.

Для перекодирования кирилицы 866<<>>1251 пользуйтесь онлайн сервисом Перекодировщик кириллицы


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

Примечание: Большие куски кода заключайте в тэг [no][more][/no]

Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Программы » Командная строка, батники\сценарии

[more=Полезные ссылки]

[b]Полезные ссылки:


· Cmd. Описание от разработчиков (англ.) (рус.)
· Урок bat-аники (для начинающих)
· Командная строка и сценарии Windows - уроки
· Библиотека функций для командных файлов
· Использование ansi.sys
· Справка по командам в виде Html
· Команды RunDll32
· Пример - получение и обработка списка пользователей
· Пример перехода из 32-битной версии cmd.exe в 64-битную
[/more][/b]


[more=Полезные утилиты]
[b]Полезные утилиты:


· Утилтиа-модуль (VBS-скрипт) для Internet Explorer - Позволяет копировать выделенный текст без пробелов на конце. Особенно полезно на руборде

· base64 - кодирует/раскодирует файл в/из base64
· blat - отправка почты из консоли
· CLCC - консольный калькулятор
· cmdow - изменение параметров и видимости дос-окна
· cnic - включает/выключает сетевой интерфейс
· crc32 - утилита для подсчета контрольных сумм (только CRC)
· curl - передача и прием файлов, используя URL синтаксис
· curtime - утилита для обработки времени в скриптах
· delbyown - поиск файлов, созданных определенным пользователем, на NTFS разделе
· devcon - включение, выключение, удаление и т.д. устройств из Диспетчера Устройств
· dirdate - изменение даты создания/модификации/последнего доступа файлов
· directify - группирование файлов по общим параметрам
· editpath - добавляет или удаляет директории в переменной PATH
· fastsum - подсчет контрольных сумм (только MD5)
· fciv - подсчет контрольных сумм (MD5 и SHA-1)
· fdf - Fast Duplicate Finder, находит одинаковые по содержанию файлы
· fsum - подсчет контрольных сумм (12 различных алгоритмов)
· gsar - General Search and Replace, поиск и замена текста в файле
· hex - вывод бинарного файла в шестнадцатиричном формате
· hstart - скрытый запуск командных файлов и консольных программ
· mediainfo - утилита для просмотра метаданных мультимедийных файлов, консоль и фронтенд
· mirror - копирование, создание точной копии всей структуры директорий
· msgbox - вывод сообщения в диалоговом окне
· msgbox (другая) - еще одна утилита для вывода сообщения в диалогоовм окне
· mtee - выводит входящие данные на экран и в файл (одновременно)
· netcat - мощная утилита для передачи данных по TCP/UDP соединениям
· nircmd - универсальная утилита на все (почти) случаи жизни
· outwit - пакет из 6-ти полезных GNU Win32 утилит
· portqry - проверка статуса TCP и UDP портов на удаленных машинах
· PsTools - отличный набор утилит для администрирования
· ptime - определяет время работы программ (точность до 5 миллисек.)
· Quick Batch File Compiler - позволяет превратить ваш батник в независимое приложение
· regperm - изменение прав доступа к веткам/ключам реестра
· rmtshare - управление шарами
· scrnres - screen resolution. Выводит разрешение экрана в консоль
· sed - мощный текстовый фильтр/процессор с поддержкой регулярных выражений
· setacl - изменение прав доступа к объектам
· setenv - утилита для работы с системными переменными
· smtpsend - отправка сообщений на электронную почту
· Streams - утилита для работы с альтернативными потоками NTFS
· trayconizer - позволяет сворачивать окно программы в трей
· tst - скриптовая утилита для автоматизации telnet-сессий
· uniqline - утилита фильтрующая одинаковые строчки в тексте, умеет удалять пустые строчки и пробелы в начале и конце строк
· UnxUtils - набор GNU утилит для Win32
· wget - консольная утилита для скачивания файлов по HTTP, HTTPS и FTP протоколам
· Win2000 Resource Kit Tools
· Win2003 Resource Kit Tools
· xcodewin - перекодировщик русского текста, поддерживает 14 кодировок
· Пакет утилит для организации интерфейса в bat-файлах
· BAT Enchancer
[/more][/b]


Готовые решения и частые вопросы:
Встроенный справочник по командам
Создание помощи по всем командам консоли 2000 и XP
Делаем паузу в командном файле стандартными средствами Windows
[more=Альтернативные решения »]

Альтернативные решения


· Альтернатива команде ECHO - позволяет выводить текст в файл без перевода строки.
· Установка задержки (паузы) в батнике
· Установка задержки (паузы) в батнике (используя VBScript)
· Конвертирование файлов (*.com *.exe *.*) в код батника
· Переход из 32-битной версии cmd.exe в 64-битную
[/more]
[more=Работа с текстом, датой, и файлами »]

Работа с текстом, датой и файлами


· Создание листинга директорий на примере создания плейлиста
· Переименовывание файлов по дате создания
· Использование даты на день раньше чем сегодня
· Использование даты на день раньше чем сегодня (учитываются високосные годы)
· Использование даты на день раньше чем сегодня (используя VBScript)
· Использование разницы между датой создания файла(папки) и текущей, в днях или минутах(используя VBScript)
· Конвертирование текста из кириллицы в латиницу
· Проверка существования файла и присвоение ему нового имени в случае если такой файл уже существует
· Замена текста в файле (sbs2.com)
· Удаление всего содержимого каталога, включая подкаталоги, командой rd (не удаляя сам каталог)
· Удаление файлов в указаном каталоге включая подкаталоги, с ведением лога удаления (удалён/не удалён)
· Удаление файлов во всех под/каталогах, имя которых (каталога) содержит определённое значение (Temp к примеру)
· Чтение из файлов содержащих ключи и значения (подобно структуре .ini файлов)
· Получение системного времени в одном формате (вне зависимости от настроек даты и времени системы)
· Простой способ получать текущую дату всегда в одном формате (не зависит от языков и настроек)
· Разбиение целого числа байтов (размера файла) на тысячные значения
[/more]
[more=Администрирование, автоматизация и сеть »]

Администрирование, автоматизация и сеть


· Запуск сетевого подключения
· Пример выполнения команд по результату команды ping
· Запуск bat файлов как сервис
· SBS - Sleep before shutdown - Утилита для выключеня и перезапуска компьютера через заданное время
· Перезапуск эксплорера с восстановлением открытых директорий
· Download And Extract - батник-гибрид для закачки архивов и моментальной их распаковки в папку с именем самого архива
[/more]
[more=Работа с переменными и параметрами ком. строки »]

Работа с переменными и параметрами ком. строки


· Разименовывание переменных
· Создание (запись) переменных окружения в реестр
· Способ передачи в бат-файл параметра содержащего символы & и последующей обработки полученного значения
[/more]

Описания работы команд и символов участниками темы:
· setlocal enabledelayedexpansion и переменные окружения
· символы & и && в командной строке
· Переменная %0
Автор: king_stiven
Дата сообщения: 25.01.2010 12:45
wolf0425

Код: @echo off
mode con codepage select=1251 > nul
set dir1=%~dp0
set dir2=C:\temp
:begin
set /a sum+=1
if /i "%~d0\" neq "%cd%" (
cd ..
goto begin
)
pause
setlocal enabledelayedexpansion
set blok=!sum!
setlocal DISABLEDELAYEDEXPANSION
for /f "usebackq tokens=*" %%d in (`dir "%dir1%" /o /b /s /a:-d`) do (
for /f "tokens=%blok%* delims=\" %%e in ("%%d") do if exist "%dir2%\%%f" del "%dir2%\%%f" /q
)
Автор: vini00008
Дата сообщения: 25.01.2010 13:41
Проблема с созданием задания в schtasks.
Создание ручками в win7 задания, не принесло никакого результата. Создание задания через консоль точно так же не получилось, перекопал всё что можно, но правильно варианта так и не нашел.

Необходимо, что бы задание запускалось после простоя компьютера, с определенным интервалом (пример 1-3 мин.) и после того как пользователь начинал работать - принудительно выгружалось, как только опять простой опять загружалось и как пользователь начинал работать - опять принудительно выгружалось и т.д.
Что бы у задания не было ограничений по длительности выполнения, запуск локальный (не по сети удаленно).
Так же что бы был вариант запуска как программы и как сервиса.
И будет ли разница если задание запускается на WinXP или Win7?
Помогите плиззз.
Автор: pottapchik
Дата сообщения: 25.01.2010 16:20
Здравствуйте, люди!
Помогите, пожалуйста. Можно ли средствами командной строки проверить, запущена ли определённая программа или нет и если нет, то запустиь её?
И правильно я понимаю, чтобы этот процесс повторялся, нужно просто этот батник добавить в планировщик заданий.
Могли бы вы написать такой bat?
Если важно - то стоит Windows 7, права локального админа.
Заранее благодарю.

Добавлено:

Код: strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'TeamViewer.exe'")
If colProcesses.Count = 0 Then
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\Program Files (x86)\TeamViewer\Version5\TeamViewer.exe", 1
End If
Автор: wolf0425
Дата сообщения: 25.01.2010 17:34
pottapchik

Цитата:
Помогите, пожалуйста. Можно ли средствами командной строки проверить, запущена ли определённая программа или нет и если нет, то запустиь её?

легко, например:
Код: tasklist | find /i "RedVex32.exe" || start "" /ABOVENORMAL RedVex32.exe -hide -run
Автор: pottapchik
Дата сообщения: 25.01.2010 17:40
wolf0425

Код: tasklist | find /i "TeamViewer.exe" || start "" /ABOVENORMAL TeamViewer.exe*32 -hide -run
Автор: wolf0425
Дата сообщения: 25.01.2010 19:24

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

Цитата:
На это написал, unknown option -u
ты вообще очень смело скопировал из примера и ключи для стартующей программы. я вот не уверен, что у TeamViewer.exe есть ключи -hide -run, тем более не знаю что бы они могли у нее делать - в отличие от redvex
/ABOVENORMAL кстати тоже наверняка лишний - зависит от того что ты хочешь.
Это вообще-то ключ для start чтобы поднял приоритет процессора для запускаемой программы выше стандартного.

Добавлено:

Цитата:
А чтобы он каждый час выполнялся, его в Планировщик заданий забить?
ну да...
Автор: Kirillhome
Дата сообщения: 25.01.2010 23:30
wolf0425

Цитата:
задача:
запускается батник в каталоге \dir1\
нужно по списку лежащих там файлов/подкаталогов удалить аналогичные файлы в \dir2\
после операции удалить образовавшиеся (если такое случится) пустые директории в \dir2\

Есть чего-нибудь готовое на эту тему?

второй вариант задачи - удалять только те файлы, которые полностью совпадают.

А что называется аналогичные? Просто по названию, или совпадающие?
В общем - выбирай


Код:
@setlocal enabledelayedexpansion
@echo off
rem F_Dir - первый каталог
set F_Dir=D:\Temp\Files\
rem S_Dir - здесь ищем копию
set S_Dir=D:\Tmp\Files\

rem вычислим длину первого каталога
set /A len_f_dir=40
:_vyasn_dl_f_d
set /A len_f_dir=%len_f_dir%-1
set new_str=!F_Dir:~0,%len_f_dir%!
if /i %new_str%==%F_Dir% goto :_vyasn_dl_f_d
set /A len_f_dir=%len_f_dir%+1

cd %F_Dir%
for %%f in (*.*) do (
if exist %S_dir%\%%f echo Exist %S_dir%%%f
rem если проверять на совпадение, то
rem fc %%f %S_dir%\%%f >nul 2>nul&&echo Double %F_Dir%%%f and %S_dir%%%f
)

for /r %%d in (.) do (
cd %%d
for %%f in (*.*) do (
set new_d=%%~dpf
set pat_d_d=!new_d:~0,%len_f_dir%!
set pat_d_p=!new_d:~%len_f_dir%!
if exist %S_dir%\!pat_d_p!%%f echo Exist %S_dir%!pat_d_p!%%f
rem если проверять на совпадение, то
rem fc %%f %S_dir%!pat_d_p!%%f >nul 2>nul&&echo Double !new_dr!%%f and %S_dir%%%f
)
)
Автор: Nomolos
Дата сообщения: 26.01.2010 06:46
Здравствуйте!
Задача следующая
В конкркетном каталоге ищется последний созданый по времени файл
Затем в файле делается замена некоторых строк, предопределеных заранее при запуске bat ничка
т.е. сейчас это выглядит так

Код:
c:\scripts\gsar.exe -s#Q1#G -r#Q"+КолВО+"#G -o v:\WINDOWS\System32\spool\PRINTERS\*.spl
Автор: wolf0425
Дата сообщения: 26.01.2010 09:10

Цитата:
В конкркетном каталоге ищется последний созданый по времени файл
надеюсь ты точно хочешь созданный последним, а не модифицированный последним

Код: for /f "delims=" %%a in ('dir /b /o-d /t:c v:\WINDOWS\System32\spool\PRINTERS\*.spl ') do set "file=v:\WINDOWS\System32\spool\PRINTERS\%%~a" & goto :found
:found
Автор: Kirillhome
Дата сообщения: 26.01.2010 09:12
Nomolos
А в чём задача? Запустить из 1С? Тогда - смотри в сторону 1с.
Или понять, какой файл - самый последний?
Ну, к примеру - так

Код:
@setlocal enabledelayedexpansion
@echo off
set L_File=""
for /F %%i in ('dir /B /a:-d /O:-D') do call :_L_file "%%i"
echo L_File = %L_File%
goto :EOF

:_L_file
if %L_file%=="" (
set L_file=%1
)
goto :EOF
Автор: wolf0425
Дата сообщения: 26.01.2010 09:32
king_stiven чего-то никак не получается адаптировать твой код для ситуации, когда dir1 - сетевой. т.е. \\comp\share1\dir1\
Автор: Nomolos
Дата сообщения: 26.01.2010 09:48
wolf0425, Kirillhome
Огромное спасибо!
Все отлично работает. Думаю нужно добавать в шапку.
Маленькое только уточнение, можно ли как то искать по определеному расширению, конкретно spl?
Автор: king_stiven
Дата сообщения: 26.01.2010 10:17
wolf0425
С сетью не работаю, смысл моего батника отрубить от полного пути каждого файла лежащего в c:\temp\dir1 и его подкаталогах - c:\temp\dir1 , с помощью нахождения количества \ (плюс 1) в пути к дир1 таким образом:

:begin
set /a sum+=1
if /i "%~d0\" neq "%cd%" (
cd ..
goto begin
)


В твоём случае посчитай \ как нибудь по другому

1вар
Цитата: подсчитать на сколько каталогов ты дапеко от корня

Код:
@echo off
set count=0
set "myPath=C:\split\fgh\fgjkl\"

:begin
for /f "tokens=1* delims=\" %%a in ('echo %myPath%') do (
set myPath=%%b
set var=%%a
if defined myPath (
set /a count+=1
goto begin)
)

echo Stek = %count%

2вар
Код:
for %%i in ( ) do (
for %%e in ( ) do (
set "counter=-1"
set "p=E:\split\&!<>fgh\fgjkl\"
call :count
echo %counter%
..
))
goto :EOF

:count
if "%p%"=="" goto :EOF
if "%p:~0,1%"=="\" set /a "counter+=1"
set "p=%p:~1%"
goto count


Проверяемый путь должен заканчиваться символом "\".


Да и по gsar он как, меняет строки в html документах с кракозябрами? Что нибудь по русски бы почитать, а то с sed никак не разберусь.
Автор: wolf0425
Дата сообщения: 26.01.2010 11:37
Nomolos
Цитата:
Маленькое только уточнение, можно ли как то искать по определеному расширению, конкретно spl?
да вроде же вписано сейчас с расширением.



Добавлено:

Цитата:
Да и по gsar он как, меняет строки в html документах с кракозябрами? Что нибудь по русски бы почитать, а то с sed никак не разберусь.
да, вполне меняет - ему кракозябры по барабану.
Но я обычно предпочитаю через sed
А хорошей доки нет - сам бы хотел.
Автор: wolf0425
Дата сообщения: 26.01.2010 12:10

Цитата:
В твоём случае посчитай \ как нибудь по другому
да там не в счетчике проблема оказалась, а в том что for /f "tokens=%blok%* delims=\" %%e in ("%%d") по разному считал слеши для сетевых имен и локальных. и не так как от" %%d"
я просто сидел и офигевал от непонимания - чего глючит. сейчас чего-то придумаю, наверно.

[more=наверно вот так:]
Код:
@echo off
rem xdel path1 [path2]
rem по списку файлов с подкаталогами от текущего каталога
rem (или непосредственно заданного path2\)
rem удалить одноименные из path1\ если они там есть.

chcp 1251 > nul

if .%1 == . goto :eof
set "eraseat=%~f1"

set "scan_at=%~f2"
if .%2 == . set "scan_at=%cd%"

if .%scan_at:~-1% neq .\ set "scan_at=%scan_at%\"
if .%eraseat:~-1% neq .\ set "eraseat=%eraseat%\"

echo scan_at =%scan_at%
echo erase_at=%eraseat%
echo.
if "%eraseat%" equ "%scan_at%" echo THE SAME DIRS! & goto:eof

setlocal enabledelayedexpansion
set _skip=0
set count=2
:count
if "!scan_at:~%count%,1!" == "\" set /a _skip += 1
if not "!scan_at:~%count%,1!" == "" set /a count += 1 & goto:count
setlocal disabledelayedexpansion

for /f "delims=" %%d in ('dir "%scan_at%" /o /b /s /a:-d') do (
for /f "tokens=%_skip%* delims=\" %%e in ("%%d") do (
    if .%%f neq . if exist "%eraseat%%%f" del "%eraseat%%%f" && echo deleted=%eraseat%%%f )
)
Автор: maa78s
Дата сообщения: 26.01.2010 17:14
Всем привет.
Подскажите, пожалуйста, как должна быть правильно написана команда копирования файла из одной дирректории в другую с возможностью дописывания совпадающих файлов.
Сейчас, при копировании файлы в любом случае заменяются:
FOR /f "tokens=*" %%a IN ('dir /b /a-d') DO (copy "%%~fa" "%TempDir%\")

Заранее спасибо.
Автор: king_stiven
Дата сообщения: 26.01.2010 18:01
maa78s

Цитата:
команда копирования файла из одной дирректории в другую с возможностью дописывания совпадающих файлов.

Докачки что ли?
Автор: Kirillhome
Дата сообщения: 26.01.2010 18:40
maa78s

Цитата:
с возможностью дописывания совпадающих файлов.
Сейчас, при копировании файлы в любом случае заменяются:
FOR /f "tokens=*" %%a IN ('dir /b /a-d') DO (copy "%%~fa" "%TempDir%\")

Т.е. если в выходном (%TempDir%\) этот файл уже есть - то дописать в конец существующего? Есть так, то тогда, похоже, вот:

Код:
FOR /f "tokens=*" %%a IN ('dir /b /a-d') DO (
if exist "%TempDir%\%%~fa" (
copy /B "%TempDir%\%%~fa"+"%%~fa" "%TempDir%\"
) else (
copy "%%~fa" "%TempDir%\"
)
)
Автор: digital422
Дата сообщения: 26.01.2010 18:43
Подскажите как в скрипте указать дату на 1 день назад.
set Year=%date:~-4%
set Month=%date:~-7,2%
set Day=%date:~-10,2%

echo %Year%-%Month%-%Day%

надо копировать папки с другой машины, она создается в течении дня в формате YYYY-MM-DD, копировать ее можно лишь на следующий день.
Автор: king_stiven
Дата сообщения: 26.01.2010 19:09
digital422
В шапке есть кликни 3 раза
Автор: digital422
Дата сообщения: 26.01.2010 19:26
Смотрел, как много строчек для простой операции . Пошел по простому пути, скачал unxutil, а для него у меня скрипты уже есть, -d "1 day ago".
Автор: king_stiven
Дата сообщения: 26.01.2010 19:33
digital422
узнал сам, поделись с другими.
Автор: digital422
Дата сообщения: 26.01.2010 19:38
date.exe

#/bin/sh
DATE=`date '+%d-%m-%Y_%H-%M-%S' -d "1 hour ago"`

ну и дальше комманда+$DATE
Автор: king_stiven
Дата сообщения: 26.01.2010 19:55
digital422
А для sed есть что нибудь?
Автор: Ykidia
Дата сообщения: 26.01.2010 19:57
Здравствуйте!
Помогите, пожалуйста, решить такую задачу. Нужно, чтобы батник делал следующее (выполнение производится в среде Windows Server 2003):
1) найти диск объемом не менее 1,5 Тбайт, иначе на выход с ошибкой;
2) размонтировать все разделы этого диска и удалить их с диска - этот пункт уже сделан, но я написал его, чтобы было понятнее, к чему эти действия, к тому же, вдруг есть более правильный вариант;
3) если занята буква E, размонтировать устройство с этой буквой и смонтировать на другую неиспользуемую;
4) преобразовать найденный диск в GPT и создать на нем один раздел на весь объем диска, после чего присвоить разделу букву E - этот пункт также уже реализован, см. комментарии к п.2.

Благодарен за любые мысли и помощь

P.S. [more=Что уже сделано, вдруг понадобится кому или мало ли ошибки есть]Скрипт initvol.bat безапелляционно убирает букву E из системы (даже если туда производится запись), удаляет все разделы на диске с известным номером 1, преобразовывает диск в GPT, создает на нем раздел на весь объем, монтирует раздел на букву E:

Код: mountvol.exe E: /D
mountvol.exe /R
diskpart.exe /s initvol.diskpart
format.com E: /fs:NTFS /v:DATA /q /a:64K /y
exit
Автор: digital422
Дата сообщения: 26.01.2010 20:07
sed - в архиве тоже есть, надо смотреть в Linux скриптах, для него много примеров, в моей практике (в записях) есть вот такое, тоже взятое с этого форума:

# удаление пропусков в именах файлов и директорий и подстановка нижней черты ,,_,, в определенном каталоге
for x in *; do mv "$x" `echo $x | sed -e 's/ /_/g'`; done
for x in *; do mv "$x" ${x// /_}; done

подозреваю что запускать надо через sh.exe.
Автор: Kirillhome
Дата сообщения: 26.01.2010 21:08
Ykidia
Очень большая проблема в сравнивание размера (1,5ТБ - это ведь больше, чем 2 в 32????)

получить список дисков и их размер - не сложно (подсмотрел здесь):

Код:
@echo off
for /f "skip=1 tokens=1,2,*" %%i in ('wmic.exe logicaldisk get caption^,size') do (
echo CurDrive: %%i Size: %%j
)
Автор: Sereoga
Дата сообщения: 26.01.2010 22:12
Уважаемые специалисты!
"Дико извиняюсь" за ламерский вопрос:
как вызвать из cmd-файла bat-файл, так, чтобы он выполнился, и после его завершения управление передалось бы обратно в исходный cmd-файл?

Написал:
start "" /WAIT "%ProgramFiles%\TrueImageEcho\Reg.bat"

все срабатывает, но после выполнения Reg.bat его окошко не закрывается, выводится приглашение на ввод команды, а мне надо, чтобы закрывалось.
И еще, исправление желательно сделать в исходном cmd-файле, а не в Reg.bat (который не мой).
Автор: king_stiven
Дата сообщения: 26.01.2010 22:17
Sereoga
call /?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132

Предыдущая тема: XP не видит второй раздел на съемном USB-HDD


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.