Не понял, как запаковать в zip архив с полным путём, чтобы в архиве корневым каталогом была буква диска. Не помню, раньше как-то делал.
» Total Commander (Часть 8)
aidarsimon
Во-первых, сильно сомневаюсь, что такая ZIP-архивация вообще возможна. Во-вторых, зачем это нужно?
Во-первых, сильно сомневаюсь, что такая ZIP-архивация вообще возможна. Во-вторых, зачем это нужно?
Цитата:
Ключ -EP3 — сохранять полные пути файлов, включая букву диска
--------------------------------------------------------------------------------
При архивировании этот ключ служит для сохранения полных путей добавляемых файлов, включая букву диска. Символ признака дисков (двоеточие) заменяется символом подчёркивания ( _ ).
Если ключ -ep3 указан при распаковке архива, символы подчёркивания снова заменяются двоеточиями, а извлекаемые файлы будут созданы в их исходных папках и дисках. Если при этом также указан путь назначения, он будет проигнорирован.
Кроме того, ключ преобразовывает UNC-пути из \\server\share в __server\share при архивировании и восстанавливает их в исходный вид при извлечении.
Данный ключ полезен для резервного копирования информации с нескольких дисков в один архив. Например, команда
WinRAR a -ep3 -r backup.rar c:\ d:\ e:\
создаст резервную копию дисков C:, D: и E:, а команда
WinRAR x -ep3 backup.rar
восстановит из неё все данные с абсолютными путями.
Однако соблюдайте осторожность: ключ -ep3 следует использовать только в тех случаях, когда вы уверены, что распаковываемый архив не содержит никаких "злонамеренных" файлов. Иными словами, используйте этот ключ только с архивами, созданными лично вами или теми людьми, которым вы всецело доверяете. Причина в том, что данный ключ позволяет перезаписать любой файл в любой папке вашего компьютера, включая важные системные файлы, поэтому его следует применять только в целях резервного копирования.
B3T6
Rar - это не ZIP. А в RAR эта информация в справке есть. Кроме того, здесь тема про Total Commander, если не обратили внимание.
Rar - это не ZIP. А в RAR эта информация в справке есть. Кроме того, здесь тема про Total Commander, если не обратили внимание.
WinRAR умеет паковать в ZIP. WinRAR прикручивается к ТС несколькими способами.
B3T6
Прекрасно всё выходит и с ZIP-архивом, надо только придумать как передавать нужный ключ и указание, чтобы был архив ZIP (это надо просто указать название с расширением ZIP)
aidarsimon
Это либо кнопку только в TC, либо тоже кнопку, но с помощью TCIMG
Прекрасно всё выходит и с ZIP-архивом, надо только придумать как передавать нужный ключ и указание, чтобы был архив ZIP (это надо просто указать название с расширением ZIP)
aidarsimon
Это либо кнопку только в TC, либо тоже кнопку, но с помощью TCIMG
B3T6
Можно увидеть синтаксис командной строки для предлагаемого способа архивации? С выполнением этого через интерфейс WinRAR, как справедливо было сказано выше, проблем нет.
Можно увидеть синтаксис командной строки для предлагаемого способа архивации? С выполнением этого через интерфейс WinRAR, как справедливо было сказано выше, проблем нет.
Avada
синтаксис приведён в цитате из справки:
Цитата:
Вместо дисков список файлов для упаковки и backup.zip надо вместо rar (и -r убрать)
синтаксис приведён в цитате из справки:
Цитата:
WinRAR a -ep3 -r backup.rar c:\ d:\ e:\
Вместо дисков список файлов для упаковки и backup.zip надо вместо rar (и -r убрать)
ещё нужен ключ -afzip
Добавлено:
Цитата:
пользовательская команда;
MultiArc.wcx
Добавлено:
Цитата:
ибо кнопку только в TC, либо тоже кнопку, но с помощью TCIMG
пользовательская команда;
MultiArc.wcx
Цитата:
ещё нужен ключ -afzip
Можно и без этого ключа, только тогда в имени архива указать расширение ZIP.
Нюанс - это только в WinRAR, консольная версия архивы ZIP создавать не умеет.
B3T6 А как к MultiArc это дело прикрутить, в случае использования WinRAR как внешней программы для упаковки? Кроме того, я полагаю, будет либо так, либо стандартно, без выбора. А пользовательская команда - всё равно кнопку делать (хотя можно и хоткей)
Добавлено:
Кстати, а почему, если в командной строке указать полный путь Winrar (C:\Program Files\WinRAR\WinRAR.exe a -ep3 arch.zip) вместо просто (WinRAR.exe a -ep3 arch.zip), то пишет "файл не найден"? В активной панели другой диск и каталог.
B3T6
Andarin
Если это хочется сделать с WinRAR через интерфейс TС, то в диалоге упаковки в поле расширение архива (после точки, а не в начале строки!) ручками меняется на zip и добавляется ключ -ep3. В принципе с помощью дочернего плагина TCDirMenu для TWinKey процедуру этой замены/вставки можно упростить, там вместо ручной замены расширения или ввода ключа будет достаточно выбрать нужный пункт из специального пользовательского меню, вызванного в диалоге упаковки TC (подробности — в документации TWinKey).
А что касается ненайденного файла, то советую проверить это дело при другом расположении WinRAR.exe (не в Program Files).
Andarin
Если это хочется сделать с WinRAR через интерфейс TС, то в диалоге упаковки в поле расширение архива (после точки, а не в начале строки!) ручками меняется на zip и добавляется ключ -ep3. В принципе с помощью дочернего плагина TCDirMenu для TWinKey процедуру этой замены/вставки можно упростить, там вместо ручной замены расширения или ввода ключа будет достаточно выбрать нужный пункт из специального пользовательского меню, вызванного в диалоге упаковки TC (подробности — в документации TWinKey).
А что касается ненайденного файла, то советую проверить это дело при другом расположении WinRAR.exe (не в Program Files).
Avada
Я, если надо было такой архив (очень редко), делал это через WinRAR непосредственно. Но этот метод работает на все 100% (а-то думал, куда ключи в нужном случае приспособить).
А про полный путь в командной строке - так системная Program Files (и Program Files (x86) у меня на диске C:, а WinRAR на диске D: . Я просто так указал, как по умолчанию.
PS Хотя на диске D, но тоже в Program Files. Банально перенёс в D:\WinRAR, заработало.
Я, если надо было такой архив (очень редко), делал это через WinRAR непосредственно. Но этот метод работает на все 100% (а-то думал, куда ключи в нужном случае приспособить).
А про полный путь в командной строке - так системная Program Files (и Program Files (x86) у меня на диске C:, а WinRAR на диске D: . Я просто так указал, как по умолчанию.
PS Хотя на диске D, но тоже в Program Files. Банально перенёс в D:\WinRAR, заработало.
Rodny 20:47 25-05-2015
Цитата:
Возвращаясь к вашему совету месячной давности. В ходе работы выяснилось одно неприятное обстоятельство, о котором почему-то сразу не подумалось. А именно, в варианте с командой/кнопкой теряется главное удобство TC, то есть, работа с архивами как с папками. Моя первоначальная идея была в том, чтобы после ввода пароля содержимое архива открывалось бы на панели TC, как это делается с обычным архивом. А через командную строку этого, как я понимаю, не реализуешь.
Кроме того, если иметь две кнопки, одну для обычных архивов и другую для защищённых паролем, то для правильного выбора кнопки надо знать заранее, защищён ли данный архив паролем или нет - что в большинстве случаев просто нереально.
То есть, получается, что задача вообще не решается иначе, чем через родной GUI-интерфейс самого WinRar?
Цитата:
Только кнопка/и т.п. Строки вкладки "Архиватор" отвечают только за упаковку.
Возвращаясь к вашему совету месячной давности. В ходе работы выяснилось одно неприятное обстоятельство, о котором почему-то сразу не подумалось. А именно, в варианте с командой/кнопкой теряется главное удобство TC, то есть, работа с архивами как с папками. Моя первоначальная идея была в том, чтобы после ввода пароля содержимое архива открывалось бы на панели TC, как это делается с обычным архивом. А через командную строку этого, как я понимаю, не реализуешь.
Кроме того, если иметь две кнопки, одну для обычных архивов и другую для защищённых паролем, то для правильного выбора кнопки надо знать заранее, защищён ли данный архив паролем или нет - что в большинстве случаев просто нереально.
То есть, получается, что задача вообще не решается иначе, чем через родной GUI-интерфейс самого WinRar?
oshizelly
Что-то мне кажется, что для незапароленных архивов этот параметр просто будет игнорироваться.
Что-то мне кажется, что для незапароленных архивов этот параметр просто будет игнорироваться.
oshizelly
Цитата:
ТС разве делает не так?
Прошу прощения, не уловил: вам нужно открыть архив как папку или распаковать? Или распаковать, если файл защищён паролем?
Цитата:
Моя первоначальная идея была в том, чтобы после ввода пароля содержимое архива открывалось бы на панели TC, как это делается с обычным архивом.
ТС разве делает не так?
Прошу прощения, не уловил: вам нужно открыть архив как папку или распаковать? Или распаковать, если файл защищён паролем?
Skif_off
Цитата:
Именно так делает. И на панели открывает, и распаковывает, как из обычной папки.
Цитата:
ТС разве делает не так?
Именно так делает. И на панели открывает, и распаковывает, как из обычной папки.
Rodny
Skif_off
Andarin
Прошу извинить, запутался уже сам в собственных мыслях. Вопрос сформулирован очень неудачно, сам бь тоже не понял, что имеется в виду
На самом деле хотел спросить вот что: после того, как запароленный архив открыт как папка на панели TC, можно ли сделать так, чтобы по нажатию кнопки происходило извлечение в заданную (или указанную пользователем в ответ на запрос) папку только выделенных в данный момент папок и файлов.
Skif_off
Andarin
Прошу извинить, запутался уже сам в собственных мыслях. Вопрос сформулирован очень неудачно, сам бь тоже не понял, что имеется в виду
На самом деле хотел спросить вот что: после того, как запароленный архив открыт как папка на панели TC, можно ли сделать так, чтобы по нажатию кнопки происходило извлечение в заданную (или указанную пользователем в ответ на запрос) папку только выделенных в данный момент папок и файлов.
oshizelly
Думается, можно открыть в неактивной панели нужную папку. Такой вариант подойдёт?
Думается, можно открыть в неактивной панели нужную папку. Такой вариант подойдёт?
Skif_off 20:15 24-06-2015
Цитата:
Ну, нельзя сказать, чтобы я сам не додумался до этого варианта Просто это несколько лишних телодвижений: перейти на другую панель, создать новую вкладку, перейти в ней к нужной папке, вернуться обратно, нажать на [F5], дожждаться завершения распаковки, перейти на другую панель, закрыть ненужную вкладку, вернуться обратно... Думал, что можно на них сэкономить. Но это, в общем-то, не критично.
Цитата:
Думается, можно открыть в неактивной панели нужную папку. Такой вариант подойдёт?
Ну, нельзя сказать, чтобы я сам не додумался до этого варианта Просто это несколько лишних телодвижений: перейти на другую панель, создать новую вкладку, перейти в ней к нужной папке, вернуться обратно, нажать на [F5], дожждаться завершения распаковки, перейти на другую панель, закрыть ненужную вкладку, вернуться обратно... Думал, что можно на них сэкономить. Но это, в общем-то, не критично.
oshizelly
На AutoIt это будет [more=как-то так:]
Код: #NoTrayIcon
Global Const $WM_COPYDATA = 0x004A
$hTC = WinGetHandle('[CLASS:TTOTAL_CMD]')
AutoItWinSetTitle(@ScriptFullPath)
$hWndPar = WinGetHandle(@ScriptFullPath)
#Region ;Обрабатываем командную строку, если пустая - появится окно выбора каталога
If $CmdLine[0] = 0 Then
While 1
$sPath = FileSelectFolder('Укажите каталог для распаковки', '', 7)
If @error And $sPath = '' Then Exit
If @error Or Not StringInStr(FileGetAttrib($sPath), "D") Then
MsgBox(4096, 'Выбор каталога для копирования', 'Вы указали "' & $sPath & '", а не каталог')
Else
ExitLoop
EndIf
WEnd
ElseIf $CmdLine[0] = 1 Then
$sPath = StringTrimRight($CmdLine[1], 1)
Else
Exit
EndIf
#EndRegion
_TC_cd_command('', $sPath, 'ST') ;открываем каталог в неактивной панели в новой вкладке
ControlSend('', '', $hTC, '{F5}') ;посылаем F5
$hWnd = WinWait('[CLASS:TInpComboDlg]') ;ждем появления окна копирования и
ControlSend('', '', $hWnd, '{ENTER}') ;отправляем ему Enter
; =============================================================================
; CD для перехода в другой каталог на одной или обеих панелях.
; Строка lpData должна быть в следующем формате (пример для языка C/C++):
; "c:\\test1\x0dc:\\test2\x00ST\x00"
; Первый путь - левая панель, второй - правая; любой из них может быть опущен (но симмвол-разделитель \x0d должен оставаться).
; Флаги после первого нулевого символа опциональны. "S": трактовать пути как исходный/целевой; "T": открывать пути в новых вкладках.
; Аналог:
; $COMMANDER_EXE = EnvGet('COMMANDER_EXE')
; Run('"' & $COMMANDER_EXE & '" /O /S /T /L="' & $left & '" /R="' & $right & '"')
Func _TC_cd_command($l, $r, $sFlag = '')
Local $sCommand = $l & @CR & $r & ChrW(0) & $sFlag
Local $pCDcom = DllStructCreate("char[" & StringLen($sCommand)+ 1 & "]")
Local $pCopyData = DllStructCreate("ulong_ptr;dword;ptr")
DllStructSetData($pCDcom, 1, $sCommand)
DllStructSetData($pCopyData, 1, Asc('C') + 256 * Asc('D'))
DllStructSetData($pCopyData, 2, DllStructGetSize($pCDcom))
DllStructSetData($pCopyData, 3, DllStructGetPtr($pCDcom))
DllCall("user32.dll", "int", "SendMessageW", "hwnd", $hTC, "int", $WM_COPYDATA, "wparam", $hWndPar, "lparam", DllStructGetPtr($pCopyData))
EndFunc
На AutoIt это будет [more=как-то так:]
Код: #NoTrayIcon
Global Const $WM_COPYDATA = 0x004A
$hTC = WinGetHandle('[CLASS:TTOTAL_CMD]')
AutoItWinSetTitle(@ScriptFullPath)
$hWndPar = WinGetHandle(@ScriptFullPath)
#Region ;Обрабатываем командную строку, если пустая - появится окно выбора каталога
If $CmdLine[0] = 0 Then
While 1
$sPath = FileSelectFolder('Укажите каталог для распаковки', '', 7)
If @error And $sPath = '' Then Exit
If @error Or Not StringInStr(FileGetAttrib($sPath), "D") Then
MsgBox(4096, 'Выбор каталога для копирования', 'Вы указали "' & $sPath & '", а не каталог')
Else
ExitLoop
EndIf
WEnd
ElseIf $CmdLine[0] = 1 Then
$sPath = StringTrimRight($CmdLine[1], 1)
Else
Exit
EndIf
#EndRegion
_TC_cd_command('', $sPath, 'ST') ;открываем каталог в неактивной панели в новой вкладке
ControlSend('', '', $hTC, '{F5}') ;посылаем F5
$hWnd = WinWait('[CLASS:TInpComboDlg]') ;ждем появления окна копирования и
ControlSend('', '', $hWnd, '{ENTER}') ;отправляем ему Enter
; =============================================================================
; CD для перехода в другой каталог на одной или обеих панелях.
; Строка lpData должна быть в следующем формате (пример для языка C/C++):
; "c:\\test1\x0dc:\\test2\x00ST\x00"
; Первый путь - левая панель, второй - правая; любой из них может быть опущен (но симмвол-разделитель \x0d должен оставаться).
; Флаги после первого нулевого символа опциональны. "S": трактовать пути как исходный/целевой; "T": открывать пути в новых вкладках.
; Аналог:
; $COMMANDER_EXE = EnvGet('COMMANDER_EXE')
; Run('"' & $COMMANDER_EXE & '" /O /S /T /L="' & $left & '" /R="' & $right & '"')
Func _TC_cd_command($l, $r, $sFlag = '')
Local $sCommand = $l & @CR & $r & ChrW(0) & $sFlag
Local $pCDcom = DllStructCreate("char[" & StringLen($sCommand)+ 1 & "]")
Local $pCopyData = DllStructCreate("ulong_ptr;dword;ptr")
DllStructSetData($pCDcom, 1, $sCommand)
DllStructSetData($pCopyData, 1, Asc('C') + 256 * Asc('D'))
DllStructSetData($pCopyData, 2, DllStructGetSize($pCDcom))
DllStructSetData($pCopyData, 3, DllStructGetPtr($pCDcom))
DllCall("user32.dll", "int", "SendMessageW", "hwnd", $hTC, "int", $WM_COPYDATA, "wparam", $hWndPar, "lparam", DllStructGetPtr($pCopyData))
EndFunc
Skif_off 20:55 24-06-2015
Цитата:
Огромное спасибо за помощь и отдельно за оперативность
Вот только я не понял, для чего в данном случае нужен TCIMG. Разве нельзя запустить скрипт AutoIt непосредственно юзер-командой TC? Я действительно пользуюсь TCIMG, просто хочется докопаться до автора до смысла данного решения.
Цитата:
На AutoIt это будет как-то так: [?]
Вы, кажется, используете TCIMG, тогда можно запускать скрипт с его помощью:
Огромное спасибо за помощь и отдельно за оперативность
Вот только я не понял, для чего в данном случае нужен TCIMG. Разве нельзя запустить скрипт AutoIt непосредственно юзер-командой TC? Я действительно пользуюсь TCIMG, просто хочется докопаться до автора до смысла данного решения.
oshizelly
А вообще зачем в данном случае что-то лишнее? Выделяем нужные файлы (в архиве), жмём F5, указываем в диалоге распаковки нужную папку (с полным путём). И всё, вуаля! Можно нажать кнопку "дерево" и указать там нужную папку. То, что требовали:
Цитата:
А вообще зачем в данном случае что-то лишнее? Выделяем нужные файлы (в архиве), жмём F5, указываем в диалоге распаковки нужную папку (с полным путём). И всё, вуаля! Можно нажать кнопку "дерево" и указать там нужную папку. То, что требовали:
Цитата:
извлечение в заданную (или указанную пользователем в ответ на запрос) папку
oshizelly 19:58 24-06-2015
Цитата:
В TCIMG это есть, примеры
Цитата:
после того, как запароленный архив открыт как папка на панели TC, можно ли сделать так, чтобы по нажатию кнопки происходило извлечение в заданную (или указанную пользователем в ответ на запрос) папку только выделенных в данный момент папок и файлов.
В TCIMG это есть, примеры
Andarin 22:11 24-06-2015
Цитата:
Блин, действительно
Самое смешное и обидное, что про этот способ ручного ввода пути к целевой папке в диалоге копирования я отлично знаю и не раз его использовал в разных ситуациях. А тут вот как-то не додумался связать это знание с собственным запросом
Спасибо! Теперь у меня имеется целых два удобных решения.
Цитата:
А вообще зачем в данном случае что-то лишнее? Выделяем нужные файлы (в архиве), жмём F5, указываем в диалоге распаковки нужную папку (с полным путём). И всё, вуаля! Можно нажать кнопку "дерево" и указать там нужную папку.
Блин, действительно
Самое смешное и обидное, что про этот способ ручного ввода пути к целевой папке в диалоге копирования я отлично знаю и не раз его использовал в разных ситуациях. А тут вот как-то не додумался связать это знание с собственным запросом
Спасибо! Теперь у меня имеется целых два удобных решения.
oshizelly
Цитата:
Для запуска скриптов AutoIt нужен интерпретатор: либо AutoIt.exe из дистрибутива, либо компилировать скрипт (по сути - "склеивание" интерпретатора и скрипта). AutoIt позволяет в качестве интерпретатора использовать почти любой скомпилированный скрипт - экономия места, в общем.
Цитата:
Вот только я не понял, для чего в данном случае нужен TCIMG. Разве нельзя запустить скрипт AutoIt непосредственно юзер-командой TC?
Для запуска скриптов AutoIt нужен интерпретатор: либо AutoIt.exe из дистрибутива, либо компилировать скрипт (по сути - "склеивание" интерпретатора и скрипта). AutoIt позволяет в качестве интерпретатора использовать почти любой скомпилированный скрипт - экономия места, в общем.
Есть большая папка с подпапками, структуру которой необходимо повторить на другом диске, но без содержимого в виде файлов и папок с вложенностью дальше первой подпапки.
Как такое можно сделать в TC с минимальными усилиями?
Можно ли при сравнении в диалоге синхронизации указать фильтр, который бы выводил только папки или сравнивал на определённую глубину как при поиске?
Как такое можно сделать в TC с минимальными усилиями?
Можно ли при сравнении в диалоге синхронизации указать фильтр, который бы выводил только папки или сравнивал на определённую глубину как при поиске?
Что-то последнее время начал себя странно вести - зависает. Не могу понять в чём причина. Пока думаю на то, что зависает при попытке открытия сететвых папок на другом компе (поскольку стоит запоминание текущей позиции на обоих панелях). Но вроде бы не только в этом случае проявляется.
Вот эээээ..... лог:
[more=Тынц]Описание:
Ошибка привела к остановке взаимодействия программы с Windows.
Сигнатура проблемы:
Имя события проблемы: AppHangB1
Имя приложения: TOTALCMD.EXE
Версия приложения: 8.5.1.1
Отметка времени приложения: 2a425e19
Сигнатура зависания: 98dd
Тип зависания: 0
Версия ОС: 6.1.7601.2.1.0.256.1
Код языка: 1049
Доп. сигнатура зависания 1: 98dd1cb43fb7f05495703c9c7847034d
Доп. сигнатура зависания 2: ff15
Доп. сигнатура зависания 3: ff153ea981dd03d5a69d0c7ecbbef5a1
Доп. сигнатура зависания 4: 98dd
Доп. сигнатура зависания 5: 98dd1cb43fb7f05495703c9c7847034d
Доп. сигнатура зависания 6: ff15
Доп. сигнатура зависания 7: ff153ea981dd03d5a69d0c7ecbbef5a1[/more]
Самое неприятное - закрытие процесса представляет собой проблему из проблем. Ничего толком не помогает. Ни закрытие зависшей программы, ни остановка процесса. Периодически только спрашивает "закрыть процесс" Начал даже перезагрузку эксплорера делать. В надежде на то, что результат хоть какой будет. Вроде бы помогает. Хотя и не уверен до конца.
Пы.сы.: Win7 x64 sp1, Total Commander 8.51a x86 PowerPack 2015.01.
Вот эээээ..... лог:
[more=Тынц]Описание:
Ошибка привела к остановке взаимодействия программы с Windows.
Сигнатура проблемы:
Имя события проблемы: AppHangB1
Имя приложения: TOTALCMD.EXE
Версия приложения: 8.5.1.1
Отметка времени приложения: 2a425e19
Сигнатура зависания: 98dd
Тип зависания: 0
Версия ОС: 6.1.7601.2.1.0.256.1
Код языка: 1049
Доп. сигнатура зависания 1: 98dd1cb43fb7f05495703c9c7847034d
Доп. сигнатура зависания 2: ff15
Доп. сигнатура зависания 3: ff153ea981dd03d5a69d0c7ecbbef5a1
Доп. сигнатура зависания 4: 98dd
Доп. сигнатура зависания 5: 98dd1cb43fb7f05495703c9c7847034d
Доп. сигнатура зависания 6: ff15
Доп. сигнатура зависания 7: ff153ea981dd03d5a69d0c7ecbbef5a1[/more]
Самое неприятное - закрытие процесса представляет собой проблему из проблем. Ничего толком не помогает. Ни закрытие зависшей программы, ни остановка процесса. Периодически только спрашивает "закрыть процесс" Начал даже перезагрузку эксплорера делать. В надежде на то, что результат хоть какой будет. Вроде бы помогает. Хотя и не уверен до конца.
Пы.сы.: Win7 x64 sp1, Total Commander 8.51a x86 PowerPack 2015.01.
MentalWarrior
Для обсуждения работоспособности сборок есть другая ветка (ссылка в шапке). Здесь это имеет смысл обсуждать только в случае, если то же самое происходит с TC, установленным из дистрибутива и настроенным самостоятельно.
Для обсуждения работоспособности сборок есть другая ветка (ссылка в шапке). Здесь это имеет смысл обсуждать только в случае, если то же самое происходит с TC, установленным из дистрибутива и настроенным самостоятельно.
Хм. Вот уж не думал, что есть какая-то разница. Принципиальных отличий нет для базовых функций. Ладно. Уговорили.
MentalWarrior
Да, только в теме по сборкам надо указать конкретную сборку, как это сделано здесь.
Да, только в теме по сборкам надо указать конкретную сборку, как это сделано здесь.
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
Предыдущая тема: Распечатка брошюры в Word 2003
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.