Board logo

标题: 如何写ultraiso的命令行? [打印本页]

作者: kowloons    时间: 2008-11-15 09:24     标题: 如何写ultraiso的命令行?

由于,我经常要把单个文件制作成iso或isz,所以想写一个bat批处理或者vbs脚本文件,然后放到右键->发送菜单中:
1、制作iso:把选中的要发送的abc文件制作成卷标名abc的iso文件
2、制作isz:把abc文件改名成aaa,然后加密码:123,压缩方式:不压缩,卷标名:bbb

好像这么难的问题,只有“martinx”帮我回答一下吧!

命令行参数:http://www.ezbsystems.com/ultraiso/cmdline.htm,俺看不懂!全英文。

[ 本帖最后由 kowloons 于 2008-11-15 10:13 编辑 ]
作者: martinx    时间: 2008-11-16 11:08

抱歉,对SendTo不熟。相关命令行参数:
ultraiso -volume abc -file "c:\abc" -output "c:\abc.iso"
ultraiso -volume bbb -file "c:\abc" -compress 0 -password ??? -output "c:\bbb.isz"

注意:所有涉及到文件的参数要用全路径,如果有空格要有双引号。
作者: kowloons    时间: 2008-11-16 11:43

我不吃在等,总算没白等,把管理员给等来了!

看了这2条命令,还有一点点小问题,就是第2个,制作isz:
我要把abc文件在isz中改名成:aaa的,出于某种原因,非常有必要,请问,可以做到吗?
作者: kowloons    时间: 2008-11-16 19:14

哈哈,我比较强大的,终于自己弄出来了!把下面的代码保存为:制作ISO.vbs,放在 %homepath%\SendTo

StrUltraISO="D:\UltraISO93\UltraISO.exe" '把这一行路径改成你电脑上ultraiso的实际路径
Set objArgs = WScript.Arguments
If objArgs.count >= 1 then
Set objShell = CreateObject("Wscript.Shell")
Dim fso
args=objArgs(0)
Set fso = CreateObject("Scripting.FileSystemObject")
StrCurPath = fso.GetParentFolderName(args)
StrCurName = fso.GetBaseName(args)
StrExt = fso.GetExtensionName(args)
apprun=StrUltraISO&" -volume "&chr(34)&StrCurName&chr(34)&" -file "&chr(34)&args&chr(34)&" -output "&chr(34)&StrCurPath&"\"&StrCurName&".iso"&chr(34)&" -joliet -lowercase"
'Wscript.Echo apprun
objShell.Run apprun

set objShell=nothing
set fso=nothing

'Wscript.Echo StrCurPath
'Wscript.Echo StrCurName
'Wscript.Echo StrExt
'Wscript.Echo args

else
Wscript.Echo "没有传入文件!请把本程序放在 %homepath%\SendTo 目录下,然后通过 右键->发送 来制作ISO,按ctrl+c复制本对话框信息。"
end if

以后,就可以在任意文件上点右键->发送到:制作iso,就可以把当前文件快速制作成ISO了,方便吧,有趣吧!今天就一直在研究就玩艺儿。

[ 本帖最后由 kowloons 于 2008-12-6 17:42 编辑 ]
作者: kowloons    时间: 2008-11-16 19:58

第2条命令,制作ISZ也来了,把蓝色的代码保存为“制作加密的ISZ.vbs”,这个做得比较完善了:

StrUltraISO="D:\UltraISO93\UltraISO.exe" '把这一行路径改成你电脑上ultraiso的实际路径
Set objArgs = WScript.Arguments
If objArgs.count >= 1 then
Set objShell = CreateObject("Wscript.Shell")
Dim fso
args=objArgs(0)
Set fso = CreateObject("Scripting.FileSystemObject")
StrCurPath = fso.GetParentFolderName(args)
StrCurName = fso.GetBaseName(args)
StrExt = fso.GetExtensionName(args)
StrPassWord = InputBox("请输入密码:")
apprun=StrUltraISO&" -volume "&chr(34)&StrCurName&chr(34)&" -file "&chr(34)&args&chr(34)&" -compress 0 -password "&chr(34)&StrPassWord&chr(34)&" -output "&chr(34)&StrCurPath&"\"&StrCurName&".isz"&chr(34)&" -joliet -lowercase"
'Wscript.Echo apprun
objShell.Run apprun
set objShell=nothing
set fso=nothing

'Wscript.Echo StrCurPath
'Wscript.Echo StrCurName
'Wscript.Echo StrExt
'Wscript.Echo args

else
Wscript.Echo "没有传入文件!请把本程序放在 %homepath%\SendTo 目录下,然后通过 右键->发送 来制作ISO,按ctrl+c复制本对话框信息。"
end if


[ 本帖最后由 kowloons 于 2008-12-6 17:41 编辑 ]
作者: kowloons    时间: 2008-11-16 20:44

打包下载:
用vbs快速制作iso.rar

清爽在线版,请看这里:
http://topic.csdn.net/u/20081116/16/c427530a-e5f1-4134-9ce8-7c249c0475d4.html

[ 本帖最后由 kowloons 于 2008-12-6 17:34 编辑 ]
作者: kowloons    时间: 2008-11-17 22:11

用批处理也实现了把单个文件快速制作成ISO,而且理简单,也不怕路径中有空格:

制作ISO.bat
@echo off
echo 请稍候,正在调用UltraIso制作ISO映像
"D:\xsoft\UltraISO93\UltraISO.exe" -volume "%~n1" -file "%~1" -output "%~dpn1.iso" -joliet -lowercase


制作加密的ISZ.bat
@echo off
echo 请输入密码:
set /p x=
echo 请稍候,正在调用UltraIso制作ISZ映像
"D:\xsoft\UltraISO93\UltraISO.exe" -volume "%~n1"  -file "%~1" -compress 0 -password "%x%" -output "%~dpn1.isz" -joliet -lowercase


再次修正:把-file参数后面的%1改成了"%~1",更规范些。调用方法,把上面2个bat文件放在:
%homepath%\SendTo
要把红色的路径改成你电脑上ultraiso的实际路径,以后在单个文件上点右键->发送到->制作ISO,就会在当前目录下生成一个同名的ISO文件。

[ 本帖最后由 kowloons 于 2010-10-25 10:54 编辑 ]
作者: xzf    时间: 2008-11-17 22:47

kowloons 看了你的批处理还不错,
作者: wxw168    时间: 2008-11-20 16:07

进来学习,谢谢楼主的分享。
作者: 462474725    时间: 2008-11-30 21:25

有人 会做一 个属于自己的启动系统光盘吗


    本人想 找个师父

           愿意 的加  QQ:462474725
作者: 462474725    时间: 2008-11-30 21:31

有人 会做一 个属于自己的启动系统光盘吗

   本人想找个 师父
        哪个  愿意收这个徒弟
      会 的加
     小弟  感激  不进
           愿意 的加  QQ:462474725
作者: libai    时间: 2008-12-6 14:37

方便了不少,应该加分鼓励啊
作者: zery    时间: 2010-10-10 09:27

谢谢楼主,分享了
作者: zzqw    时间: 2010-12-18 21:56

不错,谢谢提供!!学习了。
作者: hnxtddd    时间: 2011-1-13 03:06

了解不多,多謝謝分享。
作者: lijinan    时间: 2011-10-28 14:31

更改了楼主的批处理文件,现在文件名称中包含有点、下划线都没有问题了:
@echo off
:: 请将该批处理放入%userprofile%\SendTo目录下
set path=%path%;D:\ProgramPortable\UltraISO_9.5.1.2810_Portable_cn
set myvolume="%~n1"
set mydirectory="%~1"
set mypath=%~dp1
for /f "delims=" %%i in ("%~1") do (
    set route=%%i
    set filename=
    call :separate
)
:separate
if not "%route:~-1%"=="\" (
    set filename=%route:~-1%%filename%
    set route=%route:~0,-1%
    goto separate
    ) else (
    goto makeiso
)
:makeiso
UltraISO.exe -imax -volume %myvolume% -optimize -directory %mydirectory% -output "%mypath%%filename%.iso" -joliet -jlong -checksum -md5 -silent
echo 
exit

不知哪位可否将其改为vbs脚本。

[ 本帖最后由 lijinan 于 2011-10-28 14:43 编辑 ]
作者: un69    时间: 2012-2-7 15:41

命令行更强大 支持国软
作者: 527104427    时间: 2012-5-6 13:43

引用:
原帖由 lijinan 于 2011-10-28 14:31 发表
更改了楼主的批处理文件,现在文件名称中包含有点、下划线都没有问题了:
@echo off
:: 请将该批处理放入%userprofile%\SendTo目录下
set path=%path%;D:\ProgramPortable\UltraISO_9.5.1.2810_Portable_cn
set  ...
把你的批处理改了一下,感觉这样灵活多了:

[attach]4287[/attach]

[ 本帖最后由 527104427 于 2012-5-19 10:35 编辑 ]




欢迎光临 EZB 论坛 (http://ultraiso.net/ezbbbs/) Powered by Discuz! 6.1.0