Tol!k

|
Posted: Mon Jun 20, 2011 21:35 Post subject: |
|
|
Code: | @echo off &setlocal enableextensions &chcp 1251
rem Параметры: "%T%O.iso" "%L"
rem Начинаем строить командную строку: mkisofs -опции -o "результат.iso"
set "str=mkisofs.exe -r -J -graft-points -o "%~1""
rem Для каждой строки из списка вызываем процедуру
for /f "usebackq delims=" %%l in ("%~2") do call :x "%%l" "%%l."
rem Запускаем построенную командную строку
call %str%
rem Конец работы
goto :eof
rem Процедура
:x
set "i=%~1"
rem Меняем виндовые \ на юниксовые /
set "i=%i:\=/%"
rem Если строка кончается на / (т.е. указывает на папку)
if "%i:~-1%"=="/" (
rem Добавляем к командной строке "Имя папки=D:/Путь/Имя папки/"
set "str=%str% "%~n2=%i%""
rem Иначе добавляем к командной строке просто "D:/Путь/Имя файла.ехт"
) else (set "str=%str% "%i%"")
goto :eof
|
пробуйте
*проблемы с именами, содержащими & и )
Last edited by Tol!k on Tue Jun 21, 2011 19:23; edited 2 times in total |
|