Страница 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, ответить затрудняюсь. Попробуй другие версии.