Страница 3 из 3

Добавлено: Пт июн 24, 2011 10:51
BezDNaU
Можно с помощью ImgBurn.
Вот кнопка

Код: Выделить всё

TOTALCMD#BAR#DATA
"%COMMANDER_PATH%\Utils\ImgBurn\ImgBurn.exe"
/MODE BUILD /FILESYSTEM "ISO9660 + Joliet" /BUILDMODE IMAGEFILE /VOLUMELABEL "ObRaZ" /VERIFY /NOSAVESETTINGS /SRCLIST "%L" /DEST "%Tdisk.iso" /START /CLOSESUCCESS
%COMMANDER_PATH%\Utils\ImgBurn\ImgBurn.exe,1
Записать выделенное
%COMMANDER_PATH%\Utils\ImgBurn\

-1

Добавлено: Пт июн 24, 2011 11:36
Flasher
Пусть, конечно, ещё один вариант будет, но в 10 раз превышающий установочный дистрибутив против маленькой портабельной консольной однофайловой тулзы, в которой и скорость записи куда побыстрее и нет лишних громоздких окон, окна подтверждения и можно вводить имя нового образа (скрипт), а не лезть в параметры кнопки, как-то не катит.
Тут, кстати, ещё пару ключей не помешало бы: /PORTABLE /LANGID 2057
Но есть один у неё небольшой плюс - можно записывать в UDF.

Добавлено: Пт июн 24, 2011 16:38
Flasher
Кстати, был ещё пример для UltraISO.

Сделал некоторые правки в скрипте по совету Batya. Также сделал грамотную обрезку длинных имён файлов.

Добавлено: Ср июл 20, 2011 02:21
Flasher
Увеличил до 103 символов, в подавляющем большинстве случаев должно хватать.

Добавлено: Вс авг 11, 2013 21:04
Flasher
Предлагаемый вариант:

Код: Выделить всё

'================================================================================================
' Создать для каждого выбранного каталога свой ISO-образ (файловая система: UDF)
' Параметры: %WL "<путь получателя>" <мин. остаток свободного места на диске в Мб после упаковки>
' Пример:    %WL "%T" 250
'===================================== Путь к утилите OSCDIMG ===================================
Util = """%COMMANDER_PATH%\Utils\ISO\oscdimg.exe"""
'================================================================================================
With WScript.Arguments
  If .Count = 0 Then WScript.Quit
  List = .Item(0) : Path = .Item(1) : Min = .Item(2)
End With
If Right(Path, 1) <> "\" Then Path = Path & "\"
Set FSO = CreateObject("Scripting.FileSystemObject")
Dim WSH : Set WSH = CreateObject("WScript.Shell")
Drive = FSO.GetDriveName(Path) : Free = FSO.GetDrive(Drive).AvailableSpace
L = vbNewLine : Set Dict = CreateObject("Scripting.Dictionary")
For Each F in Split(FSO.GetFile(List).OpenAsTextStream(1, -1).ReadAll, L)
  If F <> "" Then
    If FSO.FolderExists(F) Then Size = Size + FSO.GetFolder(F).Size : Dict.Add F, "" : End If
  End If
Next : Res = Abs((Size - Free)/1024) : Title = "Создание ISO-образов"
If Size > Free Then
  If Res > 1023 Then Res = Fix(Res/1024) & " Мб" Else Res = Fix(Res) & " Кб"
  WSH.Popup "Требуется дополнительно " & Res & " свободного места на диске " &_
  Drive & " !", 4, Space(30) & "Остановка (""" & Title & """)", 48 : Quit
ElseIf Res/1024 < Min Then
  Mess = MsgBox("После создания образов на диске останется" & L & "чуть менее " &_
  Int(Res/1024) & " Мб !" & L & L & "Всё равно продолжить?", 4132, Space(24) & Title)
  If Mess <> 6 Then Quit
End If
For Each F in Dict.Keys
  WSH.Run Util & " -h -u2efv -x -o -k -m """ & Left(F, Len(F) - 1) &_
  """ """ & Path & FSO.GetBaseName(F) & ".iso""", 0, True
Next : WSH.Popup "Образы созданы!", 4, "     " & Title, 64 : Quit
Sub Quit : Set FSO = Nothing : Set WSH = Nothing : Set Dict = Nothing : WScript.Quit : End Sub
OSDIMG

Добавлено: Вс июл 16, 2017 22:49
addhaloka
Flasher писал(а):Сделал некоторые правки в скрипте по совету Batya. Также сделал грамотную обрезку длинных имён файлов.
Что-то то работает, то нет.[cut]Кнопка такая:

Код: Выделить всё

TOTALCMD#BAR#DATA
"%COMMANDER_PATH%\Bin\UltraISO\createiso_mkisofs.vbs"
%L "%T"
%COMMANDER_PATH%\Icons\TCMICONS.DLL,88
Упаковать выделенные файлы и папки в ISO-образ (mkisofs)


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

Код: Выделить всё

...
MKISO = """%COMMANDER_PATH%\Bin\UltraISO\mkisofs.exe"""
...
With CreateObject("WScript.Shell")
  .Run MKISO & " -quiet -r -f -joliet-long -nobak -graft-points -o " & Str, 0, True
  .Popup "Образ создан!", 1, "Результат", 64
End With
Так пакует и из других мест, но только файлы (оригинальный тоже папки не может). Возможно, дело в версии (или кривой сборке) mkisofs? :?
Брал отсюда: https://sourceforge.net/projects/tumagcc/files/ (сборки без использования cygwin)[/cut]

Добавлено: Вс июл 16, 2017 22:58
Flasher
addhaloka
См. на TCKB ссылку.

Добавлено: Вс июл 16, 2017 23:31
addhaloka
Flasher
Спасибо, с mkisofs оттуда нормально работает и скрипт там поновей. :)

p.s. Те mkisofs 3.x, что у меня были, похоже совсем кривые - помимо неработы с папками, там ещё и с кириллицей проблемы.

Добавлено: Чт май 17, 2018 15:53
bbcby
Добрый день. Создание ISO DVD-Video через oscdimg.
Тут был скрипт vbs, конечно, но мне хотелось бы видеть окно консоли с процессом выполнения.
Надо выделенные папки, каждая в свою ISO в противоположную панель. Volume label должна браться из имени папки, названия папок могут быть с пробелами.
Пытаюсь сделать кнопку, но что не получается. Создается файл с именем .iso и метка тома прописывается неверно.

Код: Выделить всё

TOTALCMD#BAR#DATA
%ComSpec% /k echo off & for /f "delims=" %i in
('type %WF') do oscdimg -l%%~n -uv -u1 %%i %T%%~ni.iso
shell32.dll,151
DVD Video


-1
Нужен формат ISO именно DVD-Video, параметров -uv -u1 вроде достаточно?

Добавлено: Чт май 17, 2018 15:56
Flasher
bbcby писал(а):Тут был скрипт vbs, конечно, но мне хотелось бы видеть окно консоли с процессом выполнения.
Он не был, он есть. Выше перед глазами. 3 строка снизу — 0 заменить на 1.

Добавлено: Чт май 17, 2018 16:27
bbcby
Оказалось все просто, спасибо.
А можно вариант без проверки свободного места.
И метка тома там DVD-ROM прописывается, а не берется из имени папки.

Добавлено: Чт май 17, 2018 17:05
Flasher
А смысл варианта без проверки? Это же весьма полезная опция. И можно хоть 0 написать, если угодно.

По метке 4 строка снизу:
WSH.Run Util & " -h -u2efv -x -o -k -l""" & FSO.GetFileName(F) & """ -m """ & Left(F, Len(F) - 1) &_

Добавлено: Чт май 17, 2018 17:57
bbcby
Спасибо.

Добавлено: Ср дек 05, 2018 16:36
LonerD
Цель - упаковать выделенные файлы и каталоги (в том числе с именами в Unicode) в единый ISO-файл.
С этим может справиться какая-нибудь маленькая консольная бесплатная утилитка или минимальный вариант - ImgBurn?
Что-то ничего более действенного не находится... даже такая бы казалось "эталонная" утилита для работы с ISO-файлами как UltraISO - и та не переваривает Unicode.

Добавлено: Ср дек 05, 2018 22:53
Flasher
LonerD
Вообще mkisofs с параметрами -r -joliet должна работать с Unicode. Почему это не происходит с версией с TCKB, ответить затрудняюсь. Попробуй другие версии.