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

Добавлено: Пн июн 20, 2011 22:04
Tol!k
http://fy.chalmers.se/~appro/linux/DVD+RW/tools/win32/
работает без cygwin1.dll

Добавлено: Пн июн 20, 2011 22:15
Flasher
Tol!k
Взял один exe-шник, кинул с батником в одну папку, прописал параметры, выделил, нажал - по нулям. :(
Win7 x86.

Добавлено: Пн июн 20, 2011 22:26
Tol!k
Ну, а сообщения какие пишет?
Win7
Я не могу проверить

Добавлено: Пн июн 20, 2011 22:46
Flasher
Tol!k писал(а):Ну, а сообщения какие пишет?
Сообщений никаких, в консоли, например.

Добавлено: Пн июн 20, 2011 22:46
Rodny

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

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Plugins\WCX\MultiArc\mkisofs.cmd
"%T%O.iso" "%L"
C:\Windows\System32\imageres.dll,-68
mkisofs
%COMMANDER_PATH%\Plugins\WCX\MultiArc\

-1
Работает на Win7 x86

Добавлено: Пн июн 20, 2011 22:48
Flasher
Rodny писал(а):Работает на Win7 x86
Значит у меня с системой что-то, не знаю. Кстати, в папку" MultiArc" зачем положил?

Добавлено: Пн июн 20, 2011 22:52
Rodny
Flasher писал(а):Кстати, в папку" MultiArc" зачем положил?
Так я ж с него начинал эксперименты, там файл и остался.
[s]У тебя после -o пробела нету, может здесь причина?..[/s] Нет, так у меня тоже работает.

Добавлено: Пн июн 20, 2011 23:27
Flasher
Rodny писал(а):Так я ж с него начинал эксперименты, там файл и остался.
Понятно.
Rodny писал(а):Нет, так у меня тоже работает.
Опередил. Батник-то я не трогал в этом смысле, а больше править и негде.
Там строка set "str=mkisofs.exe -r -J -graft-points -o"%~1"". Пробел, естественно, никуда не делся.

Добавлено спустя 29 минут:

А, второе-то окно выдало:
"mkisofs.exe" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Нашёл причину. По привычке путь запуска затёр. :D

Tol'k, спасибо. Жаль, конечно, что там, где попадаются скобки, то не пакует. Было бы неплохо поправить, ведь это не проблема программы.
А можешь расписать алгоритм? Попробую в скрипте воплотить.

Добавлено: Вт июн 21, 2011 19:18
Tol!k
Прокомментировал

Добавлено: Вт июн 21, 2011 19:47
Flasher
Tol!k
Можно разжевать?:
Добавляем к командной строке "Имя папки=D:/Путь/Имя папки/"
Что это даёт?

Добавлено: Вт июн 21, 2011 20:03
Tol!k
Дык
Rodny писал(а):Возможным решением может быть обработка файла-списка в скрипте, и если текущий элемент является каталогом, то добавлять в командную строку параметров типа "каталог 1=каталог 1".
Иначе добавляется не папка, а её содержимое

Добавлено: Вт июн 21, 2011 20:07
Flasher
И что, прям в комстроке так и прописывать со знаком равенства? Я что-то ничего подобного не находил в мануале.

Добавлено: Вт июн 21, 2011 20:19
Tol!k
Ну да Изображение

Кстати, в батнике ошибка. Должно быть set "str=%str% "%~nx2=%i%""

Добавлено: Вт июн 21, 2011 20:45
Rodny
Flasher писал(а):И что, прям в комстроке так и прописывать со знаком равенства? Я что-то ничего подобного не находил в мануале.
Rodny писал(а):Смотри абзацы, начинающиеся с "pathspec является путем в дереве каталогов"
до "mkisofs может быть запущено на системах Win9X/NT4" :wink:

Добавлено: Чт июн 23, 2011 00:38
Flasher
Сделал вчера (т.е. уже позавчера), а выложить забыл... :)

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

' Упаковать выделенные файлы и папки в ISO-образ
' vbs-файл положить в одну папку с mkisofs.exe
' Параметры: %L "<Путь_назначения>\"
' Пример: %L "%T"
'=============================================
Name = InputBox("Введите имя ISO-файла:", "Создание образа ISO из выделенного списка")

If Len(Name) = 0 Then WScript.Quit
On Error Resume Next
With CreateObject("Scripting.FileSystemObject")
  For Each F In Split(.OpenTextFile(WScript.Arguments(0), 1).ReadAll, vbNewLine)
    If .FolderExists(F) Then Str = Str & " """ & .GetFolder(F).Name & """=""" & F & """"
    If .FileExists(F) And Len(.GetFileName(F))<=103 Then Str = Str & " """ & F & """"
    If .FileExists(F) And Len(.GetFileName(F))>103 Then Str = Str & " """ & Left(.GetBaseName(F), Len(.GetBaseName(F))+103-Len(.GetFileName(F))) & "." & .GetExtensionName(F) & """=""" & F & """"
  Next
End With
Str = Replace("""" & Wscript.Arguments(1) & Name & ".iso"" " & Str, "\", "/")
With CreateObject("WScript.Shell")
  .Run "mkisofs.exe -quiet -r -f -joliet-long -nobak -graft-points -o " & Str, 0, True
  .Popup "Образ создан!", 1, "Результат", 64
End With
Нет проблем с символами и точками в названиях.

Нужно также иметь в виду, что у формата записи Joliet допустимая длина в именах составляет 64 символа, поэтому файлы, которые этому не удовлетворяют по логике должны сохраняться с обрезанным именем, включая расширение. Я этот момент поправил, теперь обрезается только имя без расширения.

Tol!k, спасибо, что расписал, а то пришлось бы время лишнее тратить на расшифровку.
Rodny, потом сам увидел, спасибо за повторный тык.