沙漠之子 发表于 2007-1-23 15:09:51

希望qinjg8008大大也能来完善XCMD,减小体积

另:关于锁定SHELL希望在配制文件中设定,因为本人有时没了减少内存手工关闭explorer.exe的说

Yonsm 发表于 2007-1-23 15:12:04

原帖由 lxl1638 于 2007-1-23 03:02 PM 发表


比如说什么时候或什么样的设置需要用到?
在XCDM中加?XCMD已不是控制台命令了,加上也没多大作用,因为可用内存是时刻变的,XCMD可以将可用内存写到注册表或环境变量,但你需要用到这些数据时,可能已发生了 ...

我有个想法没有去实现,不知道老九有没有兴趣:就是在命令前加上条件判断,决定是否执行。比如:

?Free(Mem)<64 PAGE C:\PageFile.sys 100
?Free(X:\)<2 FILE NTOSKNRL.EXE
?Exist(X:\Tools\WinRAR\WinRAR.exe) ***************

等等,条件判断可以增加,比如判断已经用了多少内存,有多少内存空闲,文件是否存在,磁盘可写空间有多少,分辨率是多少等等

支持== < <= > >= != 这几种比较操作符,和默认[==TRUE]的判断(如 Exist 函数)

Yonsm 发表于 2007-1-23 15:14:21

原帖由 lxl1638 于 2007-1-23 03:05 PM 发表


是的,本人调试时也发现UDirCreate会少建立一级目录。

因为新版本的 UDirCreate 改动过,但这处没改过来,导致这个问题。
不过 Link 命令似乎不会出现问题吧?

不过,如果 %USERPROFILE%目录已经创建的话,这个问题不会出现:

if (SHGetSpecialFolderPath(NULL, p, c_sMacro.iFolder, TRUE))

因为这里指定了会创建目录,不过我很莫名其妙的是 MS 的 SHGetSpecialFolderPathAPI竟然因为这种原因没能创建目录。

[ 本帖最后由 Yonsm 于 2007-1-23 03:21 PM 编辑 ]

lxl1638 发表于 2007-1-23 15:20:17

原帖由 Yonsm 于 2007-1-23 03:12 PM 发表


我有个想法没有去实现,不知道老九有没有兴趣:就是在命令前加上条件判断,决定是否执行。比如:

?Free(Mem)<64 PAGE C:\PageFile.sys 100
?Free(X:\)<2 FILE NTOSKNRL.EXE
?Exist(X:\Tools\WinRA ...

你慢慢搞吧,本人觉得目前的功能已够用了,个人认为需要修改的就是 PAGE 命令,比如
1、发现要设置页文件的磁盘不存在或不是硬盘分区(U盘、移动硬盘、光驱),再查找其它有用可用的硬盘分区来设置页文件;
2、PAGE 命令根据可用内存的大小作简单的判断,如 PAGE C:\PageFile.sys 128 表示可用内存小于128M时建立128M页文件,因为本人这样的机子无需建立页文件,在配置文件中也没有这个命令,但同样的配置文件拿到其它机子用可能有问题

[ 本帖最后由 lxl1638 于 2010-10-14 00:18 编辑 ]

沙漠之子 发表于 2007-1-23 15:23:08

不知能否实现关闭系统时删除页面文件

lxl1638 发表于 2007-1-23 15:27:44

原帖由 沙漠之子 于 2007-1-23 03:09 PM 发表
希望qinjg8008大大也能来完善XCMD,减小体积

另:关于锁定SHELL希望在配制文件中设定,因为本人有时没了减少内存手工关闭explorer.exe的说

减小体积的意义目前不大,若能减少占用内存的话才有意义,压缩一下应是40K左右,40K文件与20K文件在压缩的NTFS分区中没多大差别.

triquan 发表于 2007-1-23 16:35:42

原帖由 lxl1638 于 2007-1-23 03:20 PM 发表


你慢慢搞吧,本人觉得目前的功能已够用了,个人认为需要修改的就是 PAGE 命令,比如
1、发现要设置页文件的磁盘不存在或不是硬盘分区(U盘、移动硬盘、光驱),再查找其它有用可用的硬盘分区来设置页文件;
2 ...

我发现PAGE是可能用环境变量%CurDrv%的,只要把命令列在外部xcmd.ini里,然后想在哪个分区设虚拟内存,就把列有PAGE命令的xcmd.ini和外置程序放在这个分区的根目录就行了。

wchf2 发表于 2007-1-23 16:39:46

原帖由 lxl1638 于 2007-1-23 03:27 PM 发表


减小体积的意义目前不大,若能减少占用内存的话才有意义,压缩一下应是40K左右,40K文件与20K文件在压缩的NTFS分区中没多大差别.


减少占用内存,这个我也有个想法,1月9日的acoa 版PE里面打开taskmgr查看,最多内存占用是EXPLORER.EXE,12M左右, XCMD.INI中注释掉它,换bblean(或bbclean)即可,程序可外置,内存占用可控制在2M以内,(若更加激进的话还可把IMG中EXPLORER相关文件去掉),唯一不爽的是"关机"与"重起"命令失效,我只好用直接按机箱"RESET"键代替.
XCMD.INI中
//EXEC $EXPLORER.EXE
EXEC !%CurDrv%\外置程序\bbcLean\blackbox.exe

再有,xcmd.exe也占用6M左右内存,1月9日的acoa 版PE里面可KILL掉它,

XCMD.INI中最后加上一行



KILL XCMD
就 ok 了,
可惜RXPE中以上是行不通的,会导致直接重起.

谢谢各位专家支招,小问题已解决如下:

谢谢YouSm老大提醒,使用EXEC !$%CurDrv%\外置程序\bbcLean\blackbox.exe,后关机正常了

谢谢楼下沙漠之子,RXPE中这样KILL xcmd成功

WAIT 5000
KILL SMSS
KILL WINLOGON
KILL XCMD

[ 本帖最后由 wchf2 于 2007-1-23 06:44 PM 编辑 ]

沙漠之子 发表于 2007-1-23 16:52:38

原帖由 wchf2 于 2007-1-23 04:39 PM 发表

减少占用内存,这个我也有个想法,1月9日的acoa 版PE里面打开taskmgr查看,最多内存占用是EXPLORER.EXE,12M左右, XCMD.INI中注释掉它,换bblean(或bbclean)即可,程序可外置,内存占用可控制在2M以内,(若更加激 ...
我用过bblean,不过不太习惯的说
kill是有顺序的
KILL SMSS.EXE
KILL WINLOGON.EXE
KILL XCMD

Yonsm 发表于 2007-1-23 16:59:33

原帖由 triquan 于 2007-1-23 04:35 PM 发表


我发现PAGE是可能用环境变量%CurDrv%的,只要把命令列在外部xcmd.ini里,然后想在哪个分区设虚拟内存,就把列有PAGE命令的xcmd.ini和外置程序放在这个分区的根目录就行了。


所以说啦……
发挥自己想想享乐和推理能力,说实话这种用法我也没想到。
页: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19
查看完整版本: [PECMD X86 & X64 V4.0.2011.0501版] WinPE命令解释程序 & WinPE登录命令。