无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 120394|回复: 390
打印 上一主题 下一主题

XCMD 2.2.678 - 功能强大的 XPE 命令解释工具

[复制链接]
跳转到指定楼层
1#
发表于 2007-1-7 21:37:03 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
欢迎使用 XCMD - XPE Commander,功能强大的 XPE 命令解释工具!

一、特点

◎ 短小精干,运行迅速。
◎ 支持常规的扩展设置命令。
◎ 支持调用外部 EXE 和 DLL 函数。
◎ 支持格式统一的命令行参数和命令文件。
◎ 细微周到的功能支持。功能及其强大。
◎ 完全替代系统登录程序,且登录操作完全使用 INI 命令文件配置,修改 INI 就能完全控制登录步骤。
◎ 源代码公开,方便更改定制。在源代码中增加扩展命令非常容易。


二、使用

◎ 使用命令行参数:例如,要设置环境变量,执行“XCMD.EXE ENVI $PPPoE=OK”即可。

◎ 使用命令文件:例如,“XCMD.EXE LOAD %SystemRoot%\XCMD.INI”。

◎ 不用命令行参数,直接执行本程序,将显示帮助信息。

◎ 命令参数支持环境变量解析(如“%TEMP%\X.TXT”);命令不区分大小写;尖括号“<>”内的参数表示必须输入,方括号“[]”内的表示可以省略。

◎ 如果在命令行中使用,且参数中带有“>”或“|”,则命令后的参数必须用引号包围,否则将会被认为是重定向或管道操作符。本程序支持引号参数解析。

◎ 通常情况下,您只需要编辑一个命令文件 XCMD.INI 任何磁盘的根目录,里面列出需要执行的命令。然后在 PE 启动的时候执行“XCMD.EXE INIT”即可。

◎ 如果要替换 XPELogon 等其它 PE 登录程序,可能需要做使用一系列“REGI”命令或创建一个注册表文件做初始设置操作。当然,直接修改注册表也可以。

三、命令

■ INIT [文件路径]

  ◎ 功能:初始化桌面,接管 Ctrl+Ald+Del,并创建新进程执行 LOAD 功能。

  ◎ 参数:指定初始化的命令文件路径。

  ◎ 示例:INIT %SystemRoot%\XCMD\XCMD.INI

  ◎ 备注:此命令用于代替 XPELogon 登录系统,可以完全控制登录进度。Ctrl+Shift+Alt+Del 将会退出 INIT 线程,如果在登录状态,将直接重新启动计算机

[LOAD ][文件路径]

  ◎ 功能:按顺序逐条运行命令文件中的命令。

  ◎ 参数:指定文件的路径。如果省略,将自动搜索每个分区根目录中的 XCMD.INI(注意防止嵌套调用)。

  ◎ 示例:LOAD XCMD.INI

  ◎ 备注:

    ※ 每条命令单独一行。
    ※ 命令是完全按顺序执行的。
    ※ 不正确的命令或空行将忽略不计。
    ※ 推荐使用 UNICODE 格式文本文件。
    ※ 注释必须单独放一行,推荐使用“//”作为注释起始。
    ※ 第一行和最后一行必须是空行或注释,否则可能将被忽略。
    ※ 在命令文件中可以使用环境变量“%CurDir%”表示当前目录,“%CurDrv%”表示当前盘符。
    ※ 如果文件路径中的第一个字符是“\”,则自动搜索所有磁盘中的文件,如“LOAD \MyPE\Config.ini”。
    ※ 命令文件所在的目录会被设置为当前目录,这将带来很多方便之处。比如,创建快捷方式的时候,快捷方式目标路径可以使用相对路径。

■ EXEC [=][!][@][$][&]<EXE 路径>[ 参数]

  ◎ 功能:执行 EXE 程序。

  ◎ 参数:指定 EXE 路径和参数。前导参数如下(可同时使用,不分先后顺序):
  
    ※ 前导“=”表示等待执行完成。
    ※ 前导“!”表示以隐藏方式执行。
    ※ 前导“@”表示在后台桌面(WinLogon)执行,彻底隐藏,无法与用户交互,可用于注册“EXEC =@XCMD.EXE CALL SHELL32.DLL,DllInstall,#1,U”。
    ※ 前导“$”表示修改进程中的关机代码(挂接“ExitWindowsEx”函数)。建议执行“EXEC $EXPLORER.EXE”修改 SHELL 的关机函数,这样执行“开始->关闭系统”的时候就会运行“XCMD.EXE SHUT”命令。
    ※ 前导“&”表示进写入到注册表自动运行,由 Shell 登录后运行。如果使用了“=”前导符,将在“HKLM\Software\Microsoft\Windows\CurrentVersion\Run”的键下,否则在“HKCU\Software\Microsoft\Windows\CurrentVersion\Run”键下。其它前导符将被忽略。

  ◎ 示例:EXEC =!CMD.EXE /C "DEL /Q /F %TEMP%"

  ◎ 备注:SHELL 也是通过此命令来载入的。

■ CALL <DLL 路径>[,函数名称][,[#]参数1][,[#]参数2][,[#]参数3][,[#]参数4]

  ◎ 功能:调用 DLL 函数。

  ◎ 参数:指定 DLL 路径、函数名称和参数。如果省略函数名称,将调用“DllRegisterServer”。参数默认为 UNICODE 字符串,如果以“#”前导则表示整数;最多支持四个函数参数。

  ◎ 示例:CALL SHELL32.DLL,DllInstall,#1,I

  ◎ 备注:函数必须以 STDCALL 方式导出(不明白什么意思的话,就当没任何问题)。

■ REGI <HKLM|HKCU|HKCR|HKU|HKCC><\子项\>[键值][=[#]数据]

  ◎ 功能:设置或删除注册表数据。

  ◎ 参数:

    ※ 子项              所选 ROOTKEY 下注册表项的完整名。

    ※ 键值              要操作的键值。如果省略,则操作默认键值;如果为“!”且没有“=”,则用于删除整个子项。

    ※ 数据              要设置的数据。如果没有“=”则删除。如果前导“#”则表示 REG_DWORD 整数类型的数据,如“#0x20”;如果前导“@”则为 REG_BINARY,如“@23 34 90 255”;否则为字符串。

  ◎ 示例:REGI HKCU\Control Panel\Desktop\Wallpaper=%SystemRoot%\WALL.JPG

  ◎ 备注:请命令比较复杂,请仔细看说明。

■ ENVI [$][名称][=值]

  ◎ 功能:设置或清除环境变量。

  ◎ 参数:指定环境变量名称和值。前导“$”表示设置系统级环境变量,否则仅设置本程序内部使用的环境变量。如果不指定值,则删除环境变量。如果不指定名称和值,则设置以下环境变量:

         Favorites      收藏夹目录
         Desktop        桌面目录
         StartMenu      开始菜单目录
         Startup        启动菜单目录
         Programs       程序菜单目录
         SendTo         发送到目录
         Personal       我的文档目录
         QuickLaunch    快速启动目录

  ◎ 示例:ENVI $

  ◎ 备注:如果使用“EXEC”执行的程序,会自动继承本程序的话境变量,换句话说,如果在命令文件中设置不带“$”的“ENVI”环境变量,对后面的“EXEC”程序中也会有效。

■ FILE <文件路径>[<操作符>[目标路径]

  ◎ 功能:操作文件或目录。

  ◎ 参数:指定源文件路径和目标路径,支持通配符,可以用分号同时操作多个文件。操作符“->”、“=>”分别对应移动、复制,没有操作符则表示删除操作。

  ◎ 示例:FILE %SystemRoot%\INF\*.INF=>%TEMP%

  ◎ 备注:如果以 RAMDISK 方式启动系统,可删除一些启动后无用的文件(如删除 2 MB 的 NTOSKRNL.EXE)来增加 RAMDISK 的可写空间。

■ LINK
  • [!]<快捷方式路径><,目标路径>[,运行参数][,图标路径][,图标索引]

      ◎ 功能:创建快捷方式。

      ◎ 参数:

        ※ 快捷方式路径      指定要生成的快捷方式的路径,不需要“.LNK”扩展名。

        ※ 目标路径          指定快捷方式的目标文件或目录。如果目标不存在,将不会创建快捷方式。如果在命令文件中使用此命令,目标路径可以使用相对路径(相对于命令文件所在路径),如“TOOL\WINRAR\WINRAR.EXE”。

        ※ 运行参数          目标程序运行参数。

        ※ 图标路径          快捷方式图标的路径。

        ※ 图标索引          快捷方式图标的在文件资源中的序号,0 为第一个图标(不填写则默认)。

      ◎ 示例:LINK !%Desktop%\宽带连接,RASPPPOE.CMD,,RASDIAL.DLL,19

      ◎ 备注:前导“!”表示以最小化方式启动程序,可用于执行批处理文件时最小化命令窗口。前导“*”不检查目标是否有效,如果同时使用“!”,“*”必须在“!”之前。

    ■ SEND <按键代码1[_|^]>[,按键代码2][,按键代码3]...

      ◎ 功能:模拟按键。

      ◎ 参数:虚拟按键代码,如 VK_NUMLOCK,请参相关考编程文档。如果按键代码以“_”结束,则仅模拟按键按下;“^”则仅模拟按键弹起;否则模拟按下并弹起。很生动吧:)

      ◎ 示例:SEND 0x12_,0x09_,0x09^,0x12^

      ◎ 备注:上面的示例模拟 Alt+Tab。按键代码支持 16 进制,如“SEND 0x90”表示按下 NumLock 键。

    ■ WAIT <时间>

      ◎ 功能:等待指定时间后再继续执行命令。

      ◎ 参数:指定时间,单位为毫秒。

      ◎ 示例:WAIT 2000

      ◎ 备注:可以在执行 SHELL 后等一段时间,然后执行“LOGO”命令关闭登录画面;或者执行其它操作。

    ■ KILL <进程名称>

      ◎ 功能:强制终止指定的进程。

      ◎ 参数:进程名称,即 EXE 文件名(不包含路径)。

      ◎ 示例:KILL WinLogon

      ◎ 备注:此命令将终止与“进程名称”前部分匹配的所有进程,所以如果省略参数,可能将全部进程关闭。

    ■ SHUT [R]

      ◎ 功能:关闭计算机。

      ◎ 参数:指定关闭系统或重新启动。默认为关闭系统。

      ◎ 示例:SHUT

      ◎ 备注:可以在“EXEC”命令的时候指定挂接“ExitWindowsEx”函数,配合此命令使用,将可以拦截所有的关闭系统调用,达到正确关闭的目的(注意,此功能是快速关机,可能不会保存所有数据)。

    ■ DEVI [$]<CAB 路径>

      ◎ 功能:从 CAB 文件或指定的文件夹中查找并安装驱动程序。

      ◎ 参数:指定 CAB 文件路径。前导“$”表示解压缩驱动文件后安装驱动,否则不安装驱动。

      ◎ 示例:DEVI %SystemRoot%\DRV.CAB

      ◎ 备注:

        ※ 此命令使用自定的(而非系统的)驱动搜索算法,可快速解压缩可能用到的驱动程序,因此,一个设备可能搜索到多个驱动程序。
        ※ 在 CAB 中,把每个驱动单独放在一个目录中,并保证 CAB 中 INF 文件总是在当前目录的最前面,且 CAB 中的 INF 文件必须经过处理。建议使用配套程序 XCAB 来制作。
        ※ INF 文件解压缩到“%SystemRoot%\INF”;SYS 文件解压缩到“%SystemRoot%\SYSTEM32\DRIVERS”DLL 文件解压缩到“%SystemRoot%\SYSTEM32”;其它文件解压缩到“%SystemRoot%”。
        ※ 如果其它文件需要解压缩到特定目录中,可以在文件名中使用“#”代替目录分隔符,如文件“SYSTEM32#WBEM#MOF#XXX.MOF”将会被解压缩到“%SystemRoot%\SYSTEM32\WBEM\MOF\XXX.MOF”。
        ※ 此命令还有一个功能:从本地磁盘中搜索驱动,如“DEVI \Windows,Display”。但此命令未完善,会提示驱动文件对话框。因此,本功能暂不提供技术支持。
       
    ■ SERV [!]<服务名称>

      ◎ 功能:启动或停止服务或驱动程序。

      ◎ 参数:指定服务名称。前导“!”表示停止服务,否则启动服务。

      ◎ 示例:SERV FBWF

      ◎ 备注:可以用此命令来启动 FBWF 服务(如果安装了的话),以增加系统盘的可写空间,这样 PE 就能在光盘上运行了。

    ■ PAGE <页面文件路径> <初始大小> [最大值]

      ◎ 功能:设置页面文件。

      ◎ 参数:指定页面文件的路径,只能用 DOS 8.3 格式的路径,如“C:\PageFile.sys”。初始大小和最大值的单位是 MB;初始大小不能小于 100。

      ◎ 示例:PAGE C:\PAGEFILE.SYS 100 1000

      ◎ 备注:如果设置了页面文件,则该分区将无法执行格式化等操作。

    ■ DISP <水平分辨率><,垂直分辨率>[,颜色深度][,刷新率]

      ◎ 功能:设置显示参数。

      ◎ 参数:分别指定屏幕参数,如果失败将使用原来的设置。

      ◎ 示例:DISP 1024,768,32,70

      ◎ 备注:无。

    ■ LOGO [文件路径]

      ◎ 功能:显示登录画面。

      ◎ 参数:图片文件路径,支持 BMP/JPG/PNG/GIF 等各式(需要 GDI+ 支持)。如果参数为空,则关闭启动画面(渐隐淡出)。

      ◎ 示例:LOGO %SystemRoot%\XCMD.JPG

      ◎ 备注:

        ※ 此命令为非阻塞模式执行。执行本命令后,将立即执行下一条命令。因此,如果在命令行中使用,程序马上退出,将不能看到效果。
        ※ 此命令可多次使用。如果你愿意的话,启动过程共可以更换多个不同的图片。
        ※ 命令文件结束之前,必须调用一次不带参数的“LOGO”命令,以关闭启动画面。

    ■ TEXT [文字][#颜色][,左][,上][,右][,下]

      ◎ 功能:在启动画面中显示进度文字。

      ◎ 参数:文字为空则不显示文字。默认颜色为黑色。默认坐标大致在左上角。

      ◎ 示例:TEXT 正在注册组件……#0xFFDDDD,4,745,128,768

      ◎ 备注:无。

    ■ XLOG [文件路径]

      ◎ 功能:启用日志文件。日志文件可以记录每条命令的执行结果,帮助用户验证命令文件的正确性。

      ◎ 参数:日志文件路径。

      ◎ 示例:LOGO %SystemRoot%\XCMD.LOG

      ◎ 备注:此命令不能在命令行参数中使用(必须在命令文件中使用)。命令文件结束之前,必须调用一次不带参数的“XLOG”命令,以关闭日志文件。公开发布的 PE 中建议不要启用日志文件。

    ■ EXIF <<盘符|MEM><[!]比较符><值>|路径><,命令>

      ◎ 功能:依据条件表达式是否成立,或路径是否才在,决定是否执行命令。

      ◎ 参数:

        ※ 盘符              判断磁盘上的可用空间,必须包含“\”,如“X:\”。

        ※ MEM               判断可用内存数。

        ※ 比较符            比较操作符,支持“<”、“>”、“=”、“!”比较。
       
        ※ 值                比较的数值,单位是兆字节。

        ※ 路径              判断路径是否存在,可以使用通配符,如“C:\*.ini”。前导“!”表示不存在才执行。

        ※ 命令              要执行的命令。

      ◎ 示例:EXIF X:$<5,FILE X:\RXPE\SYSTEM32\NTOSKRNL.EXE

      ◎ 备注:本命令可以嵌套使用,判断多个条件,如“EXIF MEM>256,EXIF X:\>16,EXIF C:\Windows\*.bat,TEXT 条件成立”。



    四、致谢

    ◎ 感谢 老九 的部分源代码。
    ◎ 感谢 无忧论坛网友 的建议。
    ◎ 感谢 无忧论坛 提供的讨论场所。
    ◎ 感谢 qinjg8008 的设置虚拟内存源代码。


    五、许可

    ◎ 本程序及其源代码是可以免费获取的。
    如果您使用或修改了其中任何的源代码,则必须把使用这些源代码的项目以及项目内的所有源代码和文档公开。否则禁止使用本程序源代码的任何部分
    ◎ 您可以复制、分发和传播无限制数量的软件产品,但您必须保证每一份复制、分发和传播都必须是完整和真实的,包括所有有关本软件产品的软件、电子文档,版权和商标宣言。
    ◎ 作者特此申明对本软件产品之使用不提供任何保证,不对任何用户保证本软件产品的适用性,不保证无故障产生;亦不对任何用户使用此软件所遭遇到的任何理论上的或实际上的损失承担 责任。
    ◎ 如果您使用本软件,即表示已经默认接受了此协议。


    要获取更多信息,请访问 WWW.YONSM.NET


    Yonsm
    Yonsm@163.com
    WWW.Yonsm.NET
    2007.1.24,杭州


    下载源代码:http://www.yonsm.net/read.php?286


    下面是 2.0 版本的说明:

    最新版本修改了命令文件解释的方式(使用独立进程启动),优点是启动后 XCMD.EXE 所需的内存从 8M 减小到 5M。
    一些细节性修改,请仔细看红色部分文字,为最新更新和更改的功能。
    如果没问题,这将是最后一个版本。



    欢迎使用 XCMD - XPE Commander,功能强大的 XPE 命令解释工具!

    一、特点

    ◎ 短小精干,运行迅速。
    ◎ 支持常规的扩展设置命令。
    ◎ 支持调用外部 EXE 和 DLL 函数。
    ◎ 支持格式统一的命令行参数和命令文件。
    ◎ 细微周到的功能支持。功能及其强大。
    ◎ 完全替代系统登录程序,且登录操作完全使用 INI 命令文件配置,修改 INI 就能完全控制登录步骤。
    ◎ 源代码公开,方便更改定制。在源代码中增加扩展命令非常容易。


    二、使用

    ◎ 使用命令行参数:例如,要设置环境变量,执行“XCMD.EXE ENVI $PPPoE=OK”即可。

    ◎ 使用命令文件:例如,“XCMD.EXE LOAD %SystemRoot%\XCMD.INI”。

    ◎ 命令参数支持环境变量解析(如“%TEMP%\X.TXT”);命令不区分大小写;尖括号“<>”内的参数表示必须输入,方括号“[]”内的表示可以省略。

    ◎ 通常情况下,您只需要编辑一个命令文件 XCMD.INI 任何磁盘的根目录,里面列出需要执行的命令。然后在 PE 启动的时候执行“XCMD.EXE INIT”即可。

    ◎ 如果要替换 XPELogon 等其它 PE 登录程序,可能需要做使用一系列“REGI”命令或创建一个注册表文件做初始设置操作。当然,直接修改注册表也可以。


    三、命令

    ■ INIT [文件路径]

      ◎ 功能:初始化桌面,接管 Ctrl+Ald+Del,并创建新进程执行 LOAD 功能

      ◎ 参数:指定初始化的命令文件路径。

      ◎ 示例:INIT %SystemRoot%\XCMD\XCMD.INI

      ◎ 备注:此命令用于代替 XPELogon 登录系统,可以完全控制登录进度。Ctrl+Shift+Alt+Del 将会退出 INIT 线程,如果在登录状态,将直接重新启动计算机

    ■ LOAD [文件路径]

      ◎ 功能:按顺序逐条运行命令文件中的命令。

      ◎ 参数:指定文件的路径。如果省略,将自动搜索每个分区根目录中的 XCMD.INI(注意防止嵌套调用)。

      ◎ 示例:LOAD

      ◎ 备注:

        ※ 每条命令单独一行。
        ※ 命令是完全按顺序执行的。
        ※ 不正确的命令或空行将忽略不计。
        ※ 注释必须单独放一行,推荐使用“//”作为注释起始。
        ※ 第一行和最后一行必须是空行或注释,否则可能将被忽略。
        ※ 命令文件既可以使用 ASCII 文本文件,也可以使用 UNICODE 文本文件。推荐使用 UNICODE 格式。
        ※ 命令文件所在的目录会被设置为当前目录,这将带来很多方便之处。比如,创建快捷方式的时候,快捷方式目标路径可以使用相对路径。

        ※ 如果文件路径中的第一个字符是“\”,则自动搜索所有磁盘中的文件,如“LOAD \MyPE\Config.ini”。在此情况下,在 INI 中可以使用环境变量“%CurDrv%”表示当前盘符。

    一定要注意!:不要再使用 LOAD XCMD.INI 这样的命令,可能导致递归调用,应该改成 LOAD \XCMD.INI,即指定“\”。

    ■ EXEC [=][!][@][$]<EXE 路径>[ 参数]

      ◎ 功能:执行 EXE 程序。

      ◎ 参数:指定 EXE 路径和参数。前导参数如下(可同时使用,不分先后顺序):
      
        ※ 前导“=”表示等待执行完成。
        ※ 前导“!”表示以隐藏方式执行。
        ※ 前导“@”表示在后台桌面(WinLogon)执行,彻底隐藏,无法与用户交互,可用于注册“EXEC =@XCMD.EXE CALL SHELL32.DLL,DllInstall,#1,U”。
        ※ 前导“$”表示修改进程中的关机代码(挂接“ExitWindowsEx”函数)。建议执行“EXEC $EXPLORER.EXE”修改 SHELL 的关机函数,这样执行“开始->关闭系统”的时候就会运行“XCMD.EXE SHUT”命令。

      ◎ 示例:EXECMD =!CMD.EXE /C "DEL /Q /F %TEMP%"

      ◎ 备注:SHELL 也是通过此命令来载入的。

    ■ CALL <DLL 路径>[,函数名称][,[#]参数1][,[#]参数2][,[#]参数3][,[#]参数4]

      ◎ 功能:调用 DLL 函数。

      ◎ 参数:指定 DLL 路径、函数名称和参数。如果省略函数名称,将调用“DllRegisterServer”。参数默认为 UNICODE 字符串,如果以“#”前导则表示整数;最多支持四个函数参数。

      ◎ 示例:CALL SHELL32.DLL,DllInstall,#1,I

      ◎ 备注:函数必须以 STDCALL 方式导出(不明白什么意思的话,就当没任何问题)。

    ■ REGI <HKLM|HKCU|HKCR|HKU|HKCC><\子项\>[键值][=[#]数据]

      ◎ 功能:设置或删除注册表数据。

      ◎ 参数:

        ※ 子项              所选 ROOTKEY 下注册表项的完整名。

        ※ 键值              要操作的键值。如果省略,则操作默认键值;如果为“!”且没有“=”,则用于删除整个子项。

        ※ 数据              要设置的数据。如果没有“=”则删除。如果前导“#”则表示 REG_DWORD 整数类型的数据,如“#0x20”;如果前导“@”则为 REG_BINARY,如“@23 34 90 255”;否则为字符串。

      ◎ 示例:REGI HKCU\SOFTWRE\XCMD\Version=#1200

      ◎ 备注:请命令比较复杂,请仔细看说明。

    ■ ENVI [$][名称][=值]

      ◎ 功能:设置或清除环境变量。

      ◎ 参数:指定环境变量名称和值。前导“$”表示设置系统级环境变量,否则仅设置本程序内部使用的环境变量。如果不指定值,则删除环境变量。如果不指定名称和值,则设置以下环境变量:

             Favorites      收藏夹目录
             Desktop        桌面目录
             StartMenu      开始菜单目录
             Startup        启动菜单目录
             Programs       程序菜单目录
             SendTo         发送到目录
             Personal       我的文档目录
             QuickLaunch    快速启动目录

      ◎ 示例:ENVI

      ◎ 备注:如果使用“EXEC”执行的程序,会自动继承本程序的话境变量,换句话说,如果在命令文件中设置不带“$”的“ENVI”环境变量,对后面的“EXEC”程序中也会有效。

    ■ FILE <文件路径>[<操作符>[目标路径]

      ◎ 功能:操作文件或目录。

      ◎ 参数:指定源文件路径和目标路径,支持通配符,可以用分号同时操作多个文件。操作符“-}”、“=}”分别对应移动、复制,没有操作符则表示删除操作。

      ◎ 示例:FILE %SystemRoot%\INF\*.INF=}%TEMP%

      ◎ 备注:如果以 RAMDISK 方式启动系统,可删除一些启动后无用的文件(如删除 2 MB 的 NTOSKRNL.EXE)来增加 RAMDISK 的可写空间。

    ■ LINK [!]<快捷方式路径><,目标路径>[,运行参数][,图标路径][,图标索引]

      ◎ 功能:创建快捷方式。

      ◎ 参数:

        ※ 快捷方式路径      指定要生成的快捷方式的路径,不需要“.LNK”扩展名。

        ※ 目标路径          指定快捷方式的目标文件或目录。如果目标不存在,将不会创建快捷方式。如果在命令文件中使用此命令,目标路径可以使用相对路径(相对于命令文件所在路径),如“TOOL\WINRAR\WINRAR.EXE”。

        ※ 运行参数          目标程序运行参数。

        ※ 图标路径          快捷方式图标的路径。

        ※ 图标索引          快捷方式图标的在文件资源中的序号,0 为第一个图标(不填写则默认)。

      ◎ 示例:LINK !%Desktop%\宽带连接,RASPPPOE.CMD,,RASDIAL.DLL,19

      ◎ 备注:前导“!”表示以最小化方式启动程序,可用于执行批处理文件时最小化命令窗口。

    ■ SEND <按键代码1[_|^]>[,按键代码2][,按键代码3]...

      ◎ 功能:模拟按键。

      ◎ 参数:虚拟按键代码,如 VK_NUMLOCK,请参相关考编程文档。如果按键代码以“_”结束,则仅模拟按键按下;“^”则仅模拟按键弹起;否则模拟按下并弹起。很生动吧:)

      ◎ 示例:SEND 0x12_,0x09_,0x09^,0x12^

      ◎ 备注:上面的示例模拟 Alt+Tab。按键代码支持 16 进制,如“SEND 0x90”表示按下 NumLock 键。

    ■ WAIT <时间>

      ◎ 功能:等待指定时间后再继续执行命令。

      ◎ 参数:指定时间,单位为毫秒。

      ◎ 示例:WAIT 2000

      ◎ 备注:比如,可以在执行 SHELL 后等一段时间,然后执行“LOGO”命令关闭登录画面;或者执行其它操作。另外,如果确实需要在登录完成后运行某程序,可以在启动组或“HKCU\Software\Microsoft\Windows\CurrentVersion\Run”中创建快捷方式。

    ■ KILL <进程名称>

      ◎ 功能:强制终止指定的进程。

      ◎ 参数:进程名称,即 EXE 文件名(不包含路径)。

      ◎ 示例:KILL WinLogon

      ◎ 备注:此命令将终止与“进程名称”前部分匹配的所有进程,所以如果省略参数,可能将全部进程关闭。

    ■ SHUT [R]

      ◎ 功能:关闭计算机。

      ◎ 参数:指定关闭系统或重新启动。默认为关闭系统。

      ◎ 示例:SHUT

      ◎ 备注:可以在“EXEC”命令的时候指定挂接“ExitWindowsEx”函数,配合此命令使用,将可以拦截所有的关闭系统调用,达到正确关闭的目的(注意,此功能是快速关机,可能不会保存所有数据)。

    ■ DEVI [$]<CAB 路径>

      ◎ 功能:从 CAB 文件或指定的文件夹中查找并安装驱动程序。

      ◎ 参数:指定 CAB 文件路径。前导“$”表示解压缩驱动文件后安装驱动,否则不安装驱动。

      ◎ 示例:DEVI %SystemRoot%\DRV.CAB

      ◎ 备注:

        ※ 此命令使用自定的(而非系统的)驱动搜索算法,可快速解压缩可能用到的驱动程序,因此,一个设备可能搜索到多个驱动程序。
        ※ 在 CAB 中,把每个驱动单独放在一个目录中,并保证 CAB 中 INF 文件总是在当前目录的最前面,且 CAB 中的 INF 文件必须经过处理。建议使用配套程序 XCAB 来制作。
        ※ INF 文件解压缩到“%SystemRoot%\INF”;SYS 文件解压缩到“%SystemRoot%\SYSTEM32\DRIVERS”DLL 文件解压缩到“%SystemRoot%\SYSTEM32”;其它文件解压缩到“%SystemRoot%”。
        ※ 如果其它文件需要解压缩到特定目录中,可以在文件名中使用“#”代替目录分隔符,如文件“SYSTEM32#WBEM#MOF#XXX.MOF”将会被解压缩到“%SystemRoot%\SYSTEM32\WBEM\MOF\XXX.MOF”。
        ※ 此命令还有一个功能:从本地磁盘中搜索驱动,如“DEVI \Windows,Display”。但此命令未完善,会提示驱动文件对话框。因此,本功能暂不提供技术支持。
       
    ■ SERV [!]<服务名称>

      ◎ 功能:启动或停止服务或驱动程序。

      ◎ 参数:指定服务名称。前导“!”表示停止服务,否则启动服务。

      ◎ 示例:SERV FBWF

      ◎ 备注:可以用此命令来启动 FBWF 服务(如果安装了的话),以增加系统盘的可写空间,这样 PE 就能在光盘上运行了。

    ■ PAGE <页面文件路径> <初始大小> <最大值>

      ◎ 功能:设置页面文件。

      ◎ 参数:指定页面文件的路径,只能用 DOS 8.3 格式的路径,如“C:\PageFile.sys”。初始大小和最大值的单位是 MB;初始大小不能小于 100,最大值不能小于初始大小。

      ◎ 示例:PAGE C:\PAGEFILE.SYS 100 1000

      ◎ 备注:如果设置了页面文件,则该分区将无法执行格式化等操作。

    ■ DISP <水平分辨率><,垂直分辨率>[,颜色深度][,刷新率]

      ◎ 功能:设置显示参数。

      ◎ 参数:分别指定屏幕参数,如果胜率奖使用原来的设置。

      ◎ 示例:DISP 1024,768,32,70

      ◎ 备注:已修正以前在命令文件中使用无效的问题,可直接在命令文件中使用本命令。

    ■ LOGO [文件路径]

      ◎ 功能:显示登录画面。

      ◎ 参数:图片文件路径,支持 BMP/JPG/PNG/GIF 等各式(需要 GDI+ 支持)。如果参数为空,则关闭启动画面(渐隐淡出)。

      ◎ 示例:LOGO %SystemRoot%\XCMD.JPG

      ◎ 备注:

        ※ 此命令为非阻塞模式执行。执行本命令后,将立即执行下一条命令。因此,如果在命令行中使用,程序马上退出,将不能看到效果。
        ※ 此命令可多次使用。如果你愿意的话,启动过程共可以更换多个不同的图片。
        ※ 命令文件结束之前,必须调用一次不带参数的“LOGO”命令,以关闭启动画面。

    ■ TEXT [文字][#颜色][,左][,上][,右][,下]

      ◎ 功能:在启动画面中显示进度文字。

      ◎ 参数:文字为空则不显示文字。

      ◎ 示例:TEXT 正在注册组件……#0xFFDDDD,4,745,128,768

      ◎ 备注:首次显示文字的时候必须指定位置,否则不会显示。

    ■ XLOG [文件路径]

      ◎ 功能:启用日志文件。日志文件可以记录每条命令的执行结果,帮助用户验证命令文件的正确性。

      ◎ 参数:日志文件路径。

      ◎ 示例:LOGO %SystemRoot%\XCMD.LOG

      ◎ 备注:此命令不能在命令行参数中使用(必须在命令文件中使用)。命令文件结束之前,必须调用一次不带参数的“XLOG”命令,以关闭日志文件。公开发布的 PE 中建议不要启用日志文件。

    ■ HELP

      ◎ 功能:显示帮助信息。

      ◎ 参数:无。

      ◎ 示例:HELP

      ◎ 备注:不用命令行参数,直接执行本程序,将会自动加载 AUTO.INI 命令文件,如果加载失败,将显示帮助信息。


    四、致谢

    ◎ 感谢 老九 的帮助和建议。
    ◎ 感谢 无忧论坛网友 的建议。
    ◎ 感谢 无忧论坛 提供的讨论场所。
    ◎ 感谢 qinjg8008 的设置虚拟内存源代码。


    五、许可

    ◎ 本程序及其源代码在 GPL 协议许可下发布,您可以从 GNU 网站上获取 GPL 的详细内容。
    ◎ 您可以复制、分发和传播无限制数量的软件产品,但您必须保证每一份复制、分发和传播都必须是完整和真实的,包括所有有关本软件产品的软件、电子文档,版权和商标宣言。
    ◎ 作者特此申明对本软件产品之使用不提供任何保证,不对任何用户保证本软件产品的适用性,不保证无故障产生;亦不对任何用户使用此软件所遭遇到的任何理论上的或实际上的损失承担 责任。
    ◎ 如果您使用本软件,即表示已经默认接受了此协议。


    要获取更多信息,请访问 WWW.YONSM.NET


    Yonsm
    Yonsm@163.com
    WWW.Yonsm.NET
    2007.1.14,杭州


    下载源代码:http://www.yonsm.net/read.php?286

    [ 本帖最后由 Yonsm 于 2007-1-25 01:07 AM 编辑 ]
  • 397#
    发表于 2012-11-26 13:58:46 | 只看该作者
    借用某同志的话

    人品好
    技术高

    支持一下
    回复

    使用道具 举报

    396#
    发表于 2010-3-5 16:59:59 | 只看该作者
    楼上怎么回事?
    回复

    使用道具 举报

    395#
    发表于 2010-3-4 20:57:45 | 只看该作者
    用过LZ为PPC写的同样的工具.非常好用.感谢下.
    回复

    使用道具 举报

    394#
    发表于 2010-3-4 20:57:31 | 只看该作者

    用过LZ为PPC写的同样的工具.非常好用.感谢下.

    用过LZ为PPC写的同样的工具.非常好用.感谢下.
    回复

    使用道具 举报

    393#
    发表于 2010-3-4 20:57:19 | 只看该作者
    用过LZ为PPC写的同样的工具.非常好用.感谢下.
    回复

    使用道具 举报

    392#
    发表于 2010-3-4 20:57:14 | 只看该作者
    用过LZ为PPC写的同样的工具.非常好用.感谢下.
    回复

    使用道具 举报

    391#
    发表于 2010-2-25 21:57:20 | 只看该作者
    原帖由 12050202 于 2009-12-1 10:15 发表



    能替代PECMD吗


    PECMD是在XCMD基础上改进的
    回复

    使用道具 举报

    390#
    发表于 2010-2-25 21:19:57 | 只看该作者
    又是一位不世出的大师级人物
    回复

    使用道具 举报

    389#
    发表于 2010-2-25 21:19:49 | 只看该作者
    又是一位不世出的大师级人物
    回复

    使用道具 举报

    388#
    发表于 2009-12-2 19:31:13 | 只看该作者
    PECMD 在PE的地位.是动摇不了的.

    只是我等用的不好而已.
    回复

    使用道具 举报

    387#
    发表于 2009-12-2 19:26:31 | 只看该作者
    想别人既提供源码,又在程式中涂上你的大名?不知你写程式时能否做到这点?

    你拿XCMD或PECMD去完善修改,如何改随你便,保留这个版本的XCMD的作者和本人的信息就足够了(这个版本的XCMD也收集了本人提供的若干源码),相信你可以做到。
    回复

    使用道具 举报

    386#
    发表于 2009-12-2 19:23:24 | 只看该作者
    喜欢不喜欢.看PE用的多.就知道了.
    回复

    使用道具 举报

    385#
    发表于 2009-12-2 19:20:17 | 只看该作者
    原帖由 elye 于 2009-12-2 18:49 发表
    呵呵,这个帖子 是被 锁定了 还是?
    回复也出错。

    说一句公正的话,YONSM的XCMD 值得这里的 每个 朋友 学习学习。
    不怕得罪人,我本人喜欢 开源。不喜欢PECMD。
    呵呵


    论坛出错?

    PECMD同样开源,PECMD也提供源码,你不是说拿XCMD来修改完善么?如果是这样,但愿本人能用到更好的修改后的XCMD。

    说得好不而做得好,XCMD的源码在网上已挂了两年多了,又有几个认真去修改它完善它的。
    PECMD2.5版的源码在网上也挂了一年多了,同样是只有本人去更新它。

    你不喜欢PECMD,本人也不强求你使用PECMD,你使用PECMD对本人没有任何益处。

    [ 本帖最后由 lxl1638 于 2009-12-2 19:22 编辑 ]
    回复

    使用道具 举报

    384#
    发表于 2009-12-2 18:49:00 | 只看该作者
    呵呵,这个帖子 是被 锁定了 还是?
    回复也出错。

    说一句公正的话,YONSM的XCMD 值得这里的 每个 朋友 学习学习。
    不怕得罪人,我本人喜欢 开源。不喜欢PECMD。
    呵呵
    回复

    使用道具 举报

    383#
    发表于 2009-12-1 18:38:34 | 只看该作者
    原帖由 12050202 于 2009-12-1 10:16 发表

    PECMD可不用吗



    请详细阅读PECMD最后的一个框框里的文字!PECMD就是用XCMD的源码改进的!
    回复

    使用道具 举报

    382#
    发表于 2009-12-1 10:54:01 | 只看该作者
    这个帖子被人恶意屏蔽了吧?回复的时候出错,还以为没成功.
    回复

    使用道具 举报

    381#
    发表于 2009-12-1 10:52:48 | 只看该作者
    这是个开源软件,说明里也写得很清楚,不像某些软件说明里写的开源,实际上不是一回事,当然也可以说大多数软件都是开源的,因为大多数人都是从开源的"hello world" "发展"的
    回复

    使用道具 举报

    380#
    发表于 2009-12-1 10:52:34 | 只看该作者
    这是个开源软件,说明里也写得很清楚,不像某些软件说明里写的开源,实际上不是一回事,当然也可以说大多数软件都是开源的,因为大多数人都是从开源的"hello world" "发展"的
    回复

    使用道具 举报

    379#
    发表于 2009-12-1 10:16:33 | 只看该作者
    原帖由 yidawpf 于 2009-12-1 10:12 发表
    这个程序不知道要那些dll的支持?




    PECMD可不用吗
    回复

    使用道具 举报

    378#
    发表于 2009-12-1 10:15:54 | 只看该作者
    原帖由 yidawpf 于 2009-12-1 10:12 发表
    这个程序不知道要那些dll的支持?



    能替代PECMD吗
    回复

    使用道具 举报

    377#
    发表于 2009-12-1 10:12:11 | 只看该作者
    这个程序不知道要那些dll的支持?
    回复

    使用道具 举报

    376#
    发表于 2009-11-30 22:56:31 | 只看该作者
    用了一个下午看完了 楼主的源代码,写得不错。
    工作太忙,有时间了 我给大家 改进改进。
    回复

    使用道具 举报

    375#
    发表于 2009-11-30 22:56:19 | 只看该作者
    用了一个下午看完了 楼主的源代码,写得不错。
    工作太忙,有时间了 我给大家 改进改进。
    回复

    使用道具 举报

    374#
    发表于 2008-11-28 22:35:36 | 只看该作者
    又是一位不世出的大师级人物
    回复

    使用道具 举报

    373#
    发表于 2008-11-28 22:35:27 | 只看该作者
    又是一位不世出的大师级人物
    回复

    使用道具 举报

    372#
    发表于 2008-5-24 16:16:53 | 只看该作者
    虽然我看不懂,但是支持楼主的无私精神!
    回复

    使用道具 举报

    371#
    发表于 2008-4-30 14:24:11 | 只看该作者
    支持支持啊。。。。。。。。。。。。。
    回复

    使用道具 举报

    370#
    发表于 2008-4-30 13:56:54 | 只看该作者

    学习

    好东西,来学习哈
    回复

    使用道具 举报

    369#
    发表于 2008-4-30 13:56:35 | 只看该作者
    好东西,来学习哈
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

    闽公网安备 35020302032614号

    GMT+8, 2024-12-1 05:34

    Powered by Discuz! X3.3

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表