无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: lxl1638
打印 上一主题 下一主题

[PECMD X86 & X64 V4.0.2011.0501版] WinPE命令解释程序 & WinPE登录命令。

    [复制链接]
1411#
发表于 2008-6-18 14:09:59 | 只看该作者
to 老九

請問有找到問題點嚕嗎...不然目前只能沿用3.0.159.232...

新的功能都不能使用呢...新功能還不錯的說...
回复

使用道具 举报

1412#
 楼主| 发表于 2008-6-18 15:33:45 | 只看该作者
原帖由 nu852 于 2008-6-17 08:23 PM 发表
現在衹是找尋特定路徑的檔案,
可否加入前導符或參數,
也會找尋特定路徑子目錄的檔案.

另外 FORX 指令衹能用 絕對路徑, 不能用 相對路徑.
FORX *.INI,IniFile,0,LOAD %LoadIni%              (無作用)
FORX %CurDir%\*.INI,IniFile,0,LOAD %LoadIni%     (有作用)


你上面有两点错误:
1、%LoadIni% 由谁赋值,在这两句中 FORX 命令并没有给 LoadIni 赋值,只给 IniFile 赋值。
3、第1个 FORX 的作用和意义不明,或者说你根本就没有知道 FORX 的作用和使用方法。

要认真看说明,也要动手实践。

FORX *.INI,IniFile,0,LOAD %LoadIni%

这个要做什么?全盘全分区查找??这样会很慢,PECMD不可能去做这样毫无意义的事!
请看说明:
前导"\"表示搜索所有分区

可以利用这个前导全盘查找特定目录中的文件,如:

FORX \PETool\*.INI,IniFile,0,LOAD %IniFile%

这样会查找所有分区 PETool 目录下的 .INI 文件,找到后再用 LOAD 命令加载。估计你也是要这样的功能。

回复

使用道具 举报

1413#
发表于 2008-6-18 17:37:25 | 只看该作者
原帖由 lxl1638 于 2008-6-18 03:33 PM 发表
你上面有两点错误:
1、%LoadIni% 由谁赋值,在这两句中 FORX 命令并没有给 LoadIni 赋值,只给 IniFile 赋值。
3、第1个 FORX 的作用和意义不明,或者说你根本就没有知道 FORX 的作用和使用方法。



之前的例句我弄錯了, 對不起!

已附上我的測試!
資料夾 0 內有 子資料夾 1 及 2, 各 子資料夾有一個 ini 檔案.

一 :
執行 test.cmd, 呼叫 test.ini, test.ini 內容為 -
FORX 0\*.INI,IniFile,0,Load %IniFile%

結果,
衹是呼叫 0\FOLDER0.INI 被呼叫一次,
0\Testfolder.ini 沒被呼叫.
0\1\folder1.ini 沒被呼叫.
0\2\folder2.ini 沒被呼叫.

想知如何修改 test.ini 內容, 也一併呼叫 0\1\folder1.ini 及 0\2\folder2.ini.
(我指單一 FORX 指令, 而非多個 FORX 指令)


二 :
在資料夾 0 內
執行 TESTFOLDER.CMD, 呼叫 testfolder.ini, testfolder.ini 內容為 -
FORX FOLDER*.INI,IniFile,0,Load %IniFile%

結果,
沒有呼叫任何 FOLDER*.INI 檔案.


二 A :
如果 testfolder.ini 內容改為 -
FORX %CurDir%\FOLDER*.INI,IniFile,0,Load %IniFile%

結果,
衹是 0\FOLDER0.INI 被呼叫,
0\1\folder1.ini 沒被呼叫.
0\2\folder2.ini 沒被呼叫.



我是想一併呼叫 0\FOLDER0.INI, 0\1\folder1.ini 及 0\2\folder1.ini.

謝謝!

[ 本帖最后由 nu852 于 2008-6-18 05:40 PM 编辑 ]

Tmp5.rar

980 Bytes, 下载次数: 34, 下载积分: 无忧币 -2

回复

使用道具 举报

1414#
发表于 2008-6-18 17:41:34 | 只看该作者
只能说厉害了,老九非凡啊
回复

使用道具 举报

1415#
 楼主| 发表于 2008-6-18 17:46:36 | 只看该作者
原帖由 nu852 于 2008-6-18 05:37 PM 发表



之前的例句我弄錯了, 對不起!

已附上我的測試!
資料夾 0 內有 子資料夾 1 及 2, 各 子資料夾有一個 ini 檔案.
FORX 0\*.INI,IniFile,0, ...


蓝色部分的 FORX 只呼叫 0\ 目录中的 INI,它下面的子目录不会被呼叫,
如果呼叫了它下面的所有子目录,就变成全盘搜索了,前面说过,PECMD
不会去实现这样的功能,原因有二:
1、因为某个目录下可能有多个多级子目录,全盘搜索耗时很长,不实在;
2、因为PECMD是脚本解释执行的,全盘搜索可能会进入很深的递归,到最后可能耗尽内存,直致当机。

[ 本帖最后由 lxl1638 于 2008-6-18 05:47 PM 编辑 ]
回复

使用道具 举报

1416#
发表于 2008-6-18 20:58:29 | 只看该作者
TO 老九

今天又試了一下...
我用的是這個PECMD
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=91524&extra=page%3D2&page=141

拿一樓的範例測試的...

你把MainTest.INI內容改成下面這樣就好了...

LOAD TEST1.INI
LOAD TEST2.INI
LOAD TEST3.INI
LOAD TEST1.INI
LOAD TEST2.INI
LOAD TEST3.INI

跑到第2次LOAD TEST2.INI 就停了...

這問題應該就是我那份測試版本ISO的問題...

我那份測試版本ISO有載入第2次的窗口控件...不過會沒載入到...一載入就停住了...


另外還有一個問題就是...之前3.0.159.232版本在載入窗口控件時滑鼠不會是漏斗的圖示(請看下圖)

你用我那個測試ISO看就知道嚕...沒漏斗才是正常的...


[ 本帖最后由 jzdai0903 于 2008-6-18 09:07 PM 编辑 ]
回复

使用道具 举报

1417#
发表于 2008-6-18 21:13:25 | 只看该作者
原帖由 lxl1638 于 2008-6-18 05:46 PM 发表
蓝色部分的 FORX 只呼叫 0\ 目录中的 INI,它下面的子目录不会被呼叫,
如果呼叫了它下面的所有子目录,就变成全盘搜索了,前面说过,PECMD
不会去实现这样的功能,原因有二:


明白, 謝謝!
回复

使用道具 举报

1418#
 楼主| 发表于 2008-6-19 10:58:13 | 只看该作者
3.2.618.251版更新:
1、增加了 FDIR、FDRV、FEXT、LPOS、LSTR、MSTR、NAME、RPOS、RSTR、STRL、UPNP 共 11 条命令;
2、修正了在 PE 中生成窗口闪屏的 BUG;
3、修正了显示窗口时鼠标长时间漏斗的不足;
4、修正了同一流程中反复加载同一文件或连续加载多个文件时失去响应的 BUG;
5、压缩了资源文件中的帮助说明,使这个版本的体积由近200K减小到126K。
回复

使用道具 举报

1419#
发表于 2008-6-19 11:10:57 | 只看该作者
最新版的 PECMD 说明文件 LPOS 里有个错别字:

功能│返回指定"字符"在"字符串"左边出现的位置。

应该是

功能│返回指定"字符"在"字符串"左边出现的位置。

1.jpg (30.29 KB, 下载次数: 110)

1.jpg
回复

使用道具 举报

1420#
发表于 2008-6-19 13:04:41 | 只看该作者
如果FIND命令中再加入可用内存量、可用磁盘量就更好了。
多谢了。
回复

使用道具 举报

1421#
发表于 2008-6-19 13:31:11 | 只看该作者
V3.2.618.251无法引导pelogon开启桌面
只能当wincmd用
回复

使用道具 举报

1422#
发表于 2008-6-19 14:53:07 | 只看该作者
原帖由 lxl1638 于 2008-6-19 10:58 AM 发表
3.2.618.251版更新:
3、修正了显示窗口时鼠标长时间漏斗的不足;
4、修正了同一流程中反复加载同一文件或连续加载多个文件时失去响应的 BUG;


測試ok...功能已正常運作...感謝老九...
回复

使用道具 举报

1423#
 楼主| 发表于 2008-6-19 14:53:30 | 只看该作者
原帖由 mfyll4 于 2008-6-19 01:04 PM 发表
如果FIND命令中再加入可用内存量、可用磁盘量就更好了。
多谢了。

都说 YY PE 人总想将 PECMD 信息抹掉,但所有 YY 的人都没有完全领会 PECMD 的功能。


┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃    │格式│IFEX <条件>,[命令1][!命令2]                                                                 ┃
┃    ├──┼──────────────────────────────────────────────┨
┃    │功能│依据条件表达式是否成立,成立则执行命令1,不成立则执行命令2。                                ┃
┃    ├──┼──────────────────────────────────────────────┨
┃    │参数│■条件          对[可用内存][磁盘可用空间]或[按键]或[数值变量][文件目录]的判断。        ┃
┃    │    │■可用内存      MEM<比较符>数值。                                                           ┃
┃    │    │■磁盘可用空间  R:\<比较符>数值,R:表示盘符。                                               ┃
┃    │    │■按键          KEY<比较符>数值。                                                           ┃
┃    │    │■文件目录      文件目录名,可以使用通配符。                                                ┃
┃    │    │■数值变量      $%数值变量名%<比较符>数值或数值变量名,数值变量是CALC或ENVI赋值设置的变量。 ┃
IFEX│    │■比较符        比较操作符为"<"、">"、"=",分别表示"小于"、"大于"、"等于"。                 ┃
┃    │    │■数值          比较的数值,磁盘和内存单位是MB,按键数值是按键代码。                        ┃
┃    ├──┼──────────────────────────────────────────────┨
┃    │示例│IFEX KEY=17,TEAM TEXT 搜索字体|FONT \WINDOWS!TEAM TEXT 安装字体|FONT %CurDrv%\外置程序\FONT ┃
┃    │    │IFEX C:\Windows,!MESS 目录C:\Windows不存在,\n请点[确定]。@ 目录检查#OK                     ┃
┃    ├──┼──────────────────────────────────────────────┨
┃    │备注│※本命令功能强大,比较复杂,且可以嵌套(IFEX或FIND)使用,判断多个条件。FIND命令功能与其相似。┃
┃    │    │※<条件表达式>后的","号也可用"*"代替。                                                      ┃
┃    │    │※本命令嵌套IFEX或FIND命令时,被嵌套的命令中不能使用"!"分隔符。                             ┃
┃    │    │※当IFEX命令用于检测按键时,若用户按了'A'~'Z'或'0'~'9'这些键,按键结果保存在%PressKey%中。┃
┃    │    │※本命令用于变量判断时,所有变量均按double型来处理(最多保留4位小数)。                       ┃
┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫


FIND 命令的功能是:
[内存总数][磁盘总空间]或[按键]或[环境变量][内存进程]的判断。


回复

使用道具 举报

1424#
 楼主| 发表于 2008-6-19 14:57:42 | 只看该作者
原帖由 nasai 于 2008-6-19 01:31 PM 发表
V3.2.618.251无法引导pelogon开启桌面
只能当wincmd用


之前用的是哪个版本?有没有看过 PECMD 功能演示的 WinPE?
本人的和台湾那个PE都正常了,前者是简体语言,后者是繁体语言,很有代表性了。
或者按说明做,砍掉 PELOGON,只用 PECMD.EXE,改注册表的方法见图。

PECMD.PNG (45.83 KB, 下载次数: 103)

PECMD.PNG

PECMD2.PNG (22.99 KB, 下载次数: 104)

PECMD2.PNG
回复

使用道具 举报

1425#
 楼主| 发表于 2008-6-19 15:01:22 | 只看该作者
原帖由 jzdai0903 于 2008-6-19 02:53 PM 发表


測試ok...功能已正常運作...感謝老九...


如果有问题,按上面的方法改注册表,只需 PECMD.EXE 一个文件即可。
所有的功能都不会少,如托盘菜单、系统热键等都和  PELOGON.EXE 一样。

这样处理,估计可以省 50~100K 的文件空间。
回复

使用道具 举报

1426#
 楼主| 发表于 2008-6-19 15:02:04 | 只看该作者
原帖由 陌上风 于 2008-6-19 11:10 AM 发表
最新版的 PECMD 说明文件 LPOS 里有个错别字:

功能│返回指定"字符"在"字符串"左边超出现的位置。

应该是

功能│返回指定"字符"在"字符串"左边起出现的位置。


错就错吧,别人要修改就难了。
回复

使用道具 举报

1427#
发表于 2008-6-19 15:38:22 | 只看该作者
原帖由 lxl1638 于 2008-6-19 02:53 PM 发表

都说 YY PE 人总想将 PECMD 信息抹掉,但所有 YY 的人都没有完全领会 PECMD 的功能。


FIND 命令的功能是:
对[内存总数]或[磁盘总空间]或[按键]或[环境变量]或[内存进程]的判断。

除了总数,当前剩余量很有用
回复

使用道具 举报

1428#
 楼主| 发表于 2008-6-19 15:41:49 | 只看该作者
原帖由 sudo 于 2008-6-19 03:38 PM 发表

除了总数,当前剩余量很有用


FIND: 对[内存总数]或[磁盘总空间]或[按键]或[环境变量]或[内存进程]的判断。
IFEX: 对[可用内存]或[磁盘可用空间]或[按键]或[数值变量]或[文件目录]的判断。
回复

使用道具 举报

1429#
发表于 2008-6-19 16:02:06 | 只看该作者
呜呜,小人失礼,脸红不已。对不起,对不起。

另外建议WAIT命令可否再增强些:
在指定时间内,如有按键发生,则提前返回。

!!说明中未明确有此功能,本人也未实测此功能。
如已有,大帅千万莫气,身体为重。
回复

使用道具 举报

1430#
发表于 2008-6-19 16:16:25 | 只看该作者
TO 老九...

剛剛看人回覆說會不能正常開機...所以我又再重新改一次...

我測試使用PECMD+PELOGON.EXE 或是只用PECMD  (註冊表我有改成相對應的了)

不過這次改完後我也變不能正常登錄了...真是怪事...

老九要不要再測試一次...有空可以順便測試我那個測試版的ISO...
回复

使用道具 举报

1431#
发表于 2008-6-19 16:19:14 | 只看该作者
附註...不能正常開機的情形是...會卡在LOGO畫面...
回复

使用道具 举报

1432#
发表于 2008-6-19 17:17:23 | 只看该作者
我出现的错误讯息是
注册类或创建窗口失败,程序无法正常执行。
上一版3.1.615.172都还正常
这版只是把pecmd.exe替换过去
其他完全都没改,就出现这个讯息了
现在又把3.1.615.172换回去又正常了
回复

使用道具 举报

1433#
 楼主| 发表于 2008-6-19 18:58:16 | 只看该作者
晚上给大家修正,现在发现论坛中有些 PE 的语言 ID 设置不对,繁体版 PE 用了简体语言 ID,
而有些简体版PE的语言ID也不是0x0804,引导 PECMD LOGO 失败。
回复

使用道具 举报

1434#
发表于 2008-6-19 19:01:15 | 只看该作者
pecmd3.1.615.172的命令show采用 show 或者 show f:0都无法显示固定硬盘的隐藏分区,而showdrive则可正常显示。hp笔记本,富士通串口硬盘。
回复

使用道具 举报

1435#
发表于 2008-6-19 19:09:57 | 只看该作者
FDRV现在的功能有点多余
因为我都知道C:\Windows\System32\calc.exe
这个绝对路径的盘符,为何还要多花一个工来传回c:
FDRV的功能应该改为
FDRV NtfsDrv=\System Volume Information
这样就能取得全部有该文件名的盘符
传回NtfsDrv=c:|d:|e:|g:
回复

使用道具 举报

1436#
发表于 2008-6-19 20:20:13 | 只看该作者
PE 的语言 ID 设置可以教一下怎设置才正确吗
毕竟问题要根治,才不会日后发生更大问题
回复

使用道具 举报

1437#
发表于 2008-6-19 20:55:42 | 只看该作者
老九最近更新版本蛮快的嘛,又出新版了
回复

使用道具 举报

1438#
 楼主| 发表于 2008-6-19 21:57:55 | 只看该作者
原帖由 jzdai0903 于 2008-6-19 04:16 PM 发表
TO 老九...

剛剛看人回覆說會不能正常開機...所以我又再重新改一次...

我測試使用PECMD+PELOGON.EXE 或是只用PECMD  (註冊表我有改成相對應的了)

不過這次改完後我也變不能正常登錄了...真是怪事...
...



3.2.618.251版更正:
(更正版)
修正了 PECMD 的某些版本的 PE 中不能 LOGO 的 BUG;
(更正版)给 FDRV 命令加入了新的功能,具体见说明。

你的 PE 本人看了一下,有个 INI 是通过 CMD.EXE 启动 PECMD 载入的。
这样在 LOGO 期间它的界面是看不到的,因为 LOGO 是一个最顶层的窗口,
全屏的 LOGO 会复盖其下的所有窗口,包括你这个 INI 生成 的窗口,你也无法操作这个窗口了,
也可能就卡在这里,因为这样的窗口无法操作无法关闭,LOGO 就停止下来。

所以 LOGO 期间不要用 CMD.EXE 启动 PECMD.EXE 来加载 INI 文件,要加载多个 INI 文件一定要在
PECMD的流程用LOAD命令。

PECMD3.PNG (39.75 KB, 下载次数: 130)

PECMD3.PNG
回复

使用道具 举报

1439#
发表于 2008-6-19 22:31:14 | 只看该作者

试用PECMD-V3.2.618.251发现一问题反馈

将PECMD-V3.1.528.172换成了PECMD-V3.2.618.251后发现一个问题反馈一下:

IE的安装文件在PECMD-V3.1.528.172环境中一切正常,在PECMD-V3.2.618.251环境中运行出错,IE装不上了
IE的安装文件SETIE.CMD内容:
@ECHO OFF
cd /d "%~dp0"
SET "TP=%CD%"
PATH|FIND /I "%CD%">NUL||PATH %PATH%;%CD%
setx path %path% -m
FOR /F %%i In ('DIR *.DLL /B /A-D') DO REGSVR32 /S %%i
REGSVR32 /S Flash9A.OCX
REGSVR32 /S /N /I INETCPL.CPL
IF NOT EXIST %Windir%\System32\INETCPL.CPL COPY INETCPL.CPL %Windir%\System32 /Y>NUL
PECMD.EXE EXEC =Rundll32 SetupAPI.dll,InstallHinfSection DefaultInstall 132 .\IE.INF
PECMD.EXE EXEC @REG DELETE HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /va /f
:END
EXIT
回复

使用道具 举报

1440#
发表于 2008-6-19 23:15:34 | 只看该作者
TO 老九

剛剛下載你最新修正的版本測試...

問題幾乎都沒了...

不過有一個地方有問題...

我第一個下拉式選單控件視窗...選擇自定義加載模式後...你上面貼的圖那一個控件視窗不會跑出來...

我反覆測試了一下...發現控件視窗不會跑出來的問題是出在...

我那份測試ISO裡面的WIMMOD.CMD這檔案裡面...紅色部分不會執行...所以第二個控件視窗才會跑不出來...

不知道是不是BUG...雖然改改流程還是可以達到我想要的效果...不過希望這問題能解決...你可以測試看看...謝謝

:User
set OUTTOOL=%CD%
PECMD EXEC !=UserMenu.CMD
PECMD LOAD %windir%\UserMenu.ini
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-14 20:37

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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