无忧启动论坛

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

[更新376#2825]PECMD2012.1.80.13_Win32_64.多窗口多线程.裸机系统2.3.3.1+18M酷M...

    [复制链接]
5371#
 楼主| 发表于 2013-4-9 19:37:56 | 只看该作者
本帖最后由 mdyblog 于 2013-4-9 19:45 编辑
2010qaqz111 发表于 2013-4-9 17:13
FILE 命令加了 --force 参数删不掉目录?只能删除里面的所有文件,但是目录还在。


已修正。   
其实  原来的功能 也挺有趣的。                      
回复

使用道具 举报

5372#
发表于 2013-4-9 21:03:32 | 只看该作者
本帖最后由 2010qaqz111 于 2013-4-9 21:08 编辑

有些PE的配置文件里加载驱动用的是 pnputil.exe,这和直接用 DEVI 加载有什么不同吗?(除了 DEVI 可以直接加载 CAB 之外)

另外,DEVI *extract 好像还是会扫描硬件?LOG输出里仍然列出了硬件ID的列表。

DEVI *extract C:\Temp\,,C:\Temp\123
这样的命令会让 pecmd 直接崩掉,第一个路径的地方掉了CAB或者inf的文件名只有目录名的情况下。
回复

使用道具 举报

5373#
发表于 2013-4-9 21:05:24 | 只看该作者
还有 net start 和 SERV 有区别吗?除了用 net start 可以不阻塞外?
回复

使用道具 举报

5374#
 楼主| 发表于 2013-4-9 21:56:59 | 只看该作者
2010qaqz111 发表于 2013-4-9 21:05
还有 net start 和 SERV 有区别吗?除了用 net start 可以不阻塞外?

没区别吧。 就是 启动、停止服务而已。
回复

使用道具 举报

5375#
 楼主| 发表于 2013-4-9 22:51:07 | 只看该作者
2010qaqz111 发表于 2013-4-9 21:03
有些PE的配置文件里加载驱动用的是 pnputil.exe,这和直接用 DEVI 加载有什么不同吗?(除了 DEVI 可以直接 ...


有些PE的配置文件里加载驱动用的是 pnputil.exe,这和直接用 DEVI 加载有什么不同吗?(除了 DEVI 可以直接加载 CAB 之外)

另外,DEVI *extract 好像还是会扫描硬件?LOG输出里仍然列出了硬件ID的列表。

DEVI *extract C:\Temp\,,C:\Temp\123
这样的命令会让 pecmd 直接崩掉,第一个路径的地方掉了CAB或者inf的文件名只有目录名的情况下。

1》 问题已解决。

2》 有何区别, 还没研究。  pnputil.exe  XP 有吗? 对于都能用的情况, 大概差不多吧。
回复

使用道具 举报

5376#
发表于 2013-4-10 07:20:00 | 只看该作者
pnputil.exe  xp没有,win7以后才有
回复

使用道具 举报

5377#
发表于 2013-4-10 09:04:47 来自手机 | 只看该作者
With ver 130314-57
"DISP W1024 H768 B32 F60" is not working,
"DISP W1024 H768 B32" is working ??? Can Not  Use OLD FUNT ??
"DISP W1024H768B32F60"


回复

使用道具 举报

5378#
 楼主| 发表于 2013-4-10 10:41:31 | 只看该作者
2011Tduy09 发表于 2013-4-10 09:04
With ver 130314-57
"DISP W1024 H768 B32 F60" is not working,
"DISP W1024 H768 B32" is working ??? ...


With ver 130314-57
"DISP W1024 H768 B32 F60" is not working,
"DISP W1024 H768 B32" is working ??? Can Not  Use OLD FUNT ??
"DISP W1024H768B32F60"
我没有 130314-57 了, 只有最新版。 也没有时间来测试旧版。
130314-60:  "DISP W1024 H768 B32 F60"   "DISP W1024 H768 B32"  是可的。

130314-60: "DISP W1024H768B32F60" 不行, W H B F 前面必须要有一个空格引导。 因为 功能扩展了, 有S0x84 这样的16进制数, 可能出现BF字符。
没想到还有人这样写的。

新的 130314-61  支持 "DISP W1024H768B32F60"
但有一个新的约束: 旧的参数(WHBFT)必须放到 后面, 而不能和新增参数(S@) 混着。


回复

使用道具 举报

5379#
发表于 2013-4-10 11:57:23 | 只看该作者
SITE *touch,<文件目录路径>[,返回变量名]
这个是更新文件时间为当前系统时间?是更新修改时间吗?不能设置成一个指定的时间吗?如变量输入为2012 06 30 15 32 24之类的格式?
回复

使用道具 举报

5380#
 楼主| 发表于 2013-4-10 14:20:20 | 只看该作者
2010qaqz111 发表于 2013-4-10 11:57
SITE *touch,[,返回变量名]
这个是更新文件时间为当前系统时间?是更新修改时间吗?不能设置成一个指定的时 ...

touch 的标准用法是不带时间的。
你有那种用法的 实际应用吗?
回复

使用道具 举报

5381#
发表于 2013-4-10 15:00:22 | 只看该作者
mdyblog 发表于 2013-4-10 14:20
touch 的标准用法是不带时间的。
你有那种用法的 实际应用吗?

我用PECMD做了个从UD提取文件的脚本,但是每次都提取遇到大文件(主要是外置程序比如Office之类)太费时,所以做文件长度和修改时间的比较,但是PUTF每次写完文件都会更新为写文件的时间,这样每次比较文件时间都不一样。

当然这个有其他办法解决,比如只比较长度,或者用外部程序在PUTF写完文件后更新修改时间到和UD内文件一致也可以的,这个功能我记得以前DOS622的时候是有个命令可以做到的,但是win时代之后貌似这个命令被砍了,囧
回复

使用道具 举报

5382#
 楼主| 发表于 2013-4-10 16:37:33 | 只看该作者
2010qaqz111 发表于 2013-4-10 15:00
我用PECMD做了个从UD提取文件的脚本,但是每次都提取遇到大文件(主要是外置程序比如Office之类)太费时, ...

有用 我就加上把。
回复

使用道具 举报

5383#
发表于 2013-4-10 17:47:35 | 只看该作者
本帖最后由 2010qaqz111 于 2013-4-10 18:24 编辑
mdyblog 发表于 2013-4-10 16:37
有用 我就加上把。


,然后出现新的情况。

C:\z1.wcs
  1. IFEX C:\z2.wcs,
  2. {
  3. IMPORT C:\z2.wcs
  4. EXIT FILE
  5. }
  6. SET &A=123
  7. _SUB F1
  8. _END
  9. MESS %&A%
复制代码
C:\z2.wcs
  1. LOGS *zx.log
  2. SET &A=123
  3. _SUB F1
  4. _END
  5. MESS %&A%
复制代码
直接运行z2,正常显示123;运行z1,显示为空。
z1的IMPORT要包在IFEX的大括号内,不然不会出问题。
z2中间要隔一个_SUB_END不然不会出问题。

这是出问题的最简化的代码,z1其实是我放在pecmd.ini里面最开始位置的,目的是有了调试启动配置文件,免得每次都打包,调整好了删掉c:\z2.wcs,更新pecmd.ini。

从z1运行产生的LOG:(问题出在第3行,变量解释不正确了)
  1. 928        161551044066.517        [LOGS *zx.log]        <0>        :操作成功完成。
  2. 928        161551166248.153        [SET &A=123]        <0>        :操作成功完成。
  3. 928        163083108926.394        [MESS ]        <0>        :操作成功完成。
  4. 928        163083340094.050        [LEAVE:C:\z1.wcs]
  5. 928        163083775549.401        [LEAVE:]
复制代码
从z2运行产生的LOG:
  1. 1776        487493547343.429        [ENTER:C:\z2.wcs]
  2. 1776        487493674901.057        [LOGS *zx.log]        <0>        :操作成功完成。
  3. 1776        487493776556.178        [SET &A=123]        <0>        :操作成功完成。
  4. 1776        488664356293.380        [MESS 123]        <0>        :操作成功完成。
  5. 1776        488664511219.695        [LEAVE:C:\z2.wcs]
  6. 1776        488664701334.321        [LEAVE:]
复制代码
LOG 没有文件名和行号,这问题看了好半天才发现。
回复

使用道具 举报

5384#
 楼主| 发表于 2013-4-10 21:21:08 | 只看该作者
本帖最后由 mdyblog 于 2013-4-10 21:56 编辑
2010qaqz111 发表于 2013-4-10 17:47
先 ,然后出现新的情况。

C:\z1.wcsC:\z2.wcs直接运行z2,正常显示123;运行z1,显示为空。 ...


程序加载后为:
IFEX C:\z2.wcs,
{
LOGS *zx.log
SET &A=123
_SUB F1
_END
MESS 11:%&A%
EXIT FILE
}
SET &A=123
_SUB F1
_END
MESS 22:%&A%


你可以用其它的方式 达到希望的功能。
问题是: 【_SUB F1   。。。。  _END】 不能放到 {} 内。 程序不支持这种流程。 存在_SUB _END {}4种中定界符,冲突。
_SUB _END 的定界 强于 }
IFEX 到 _SUB 处 就结束了。 在这个BLOCK中的变量 A 自动销毁, 后面显示自然为空。
等效逻辑为:

IFEX C:\z2.wcs,
{
LOGS *zx.log
SET &A=123
}   //_SUB 高于 BLOCK,强制终止, 相当于处插入一个 }
_SUB F1
_END
MESS 11:%&A%
EXIT FILE
}
SET &A=123
_SUB F1
_END
MESS 22:%&A%


回复

使用道具 举报

5385#
 楼主| 发表于 2013-4-10 21:24:34 | 只看该作者
本帖最后由 mdyblog 于 2013-4-10 22:07 编辑
2010qaqz111 发表于 2013-4-10 15:00
我用PECMD做了个从UD提取文件的脚本,但是每次都提取遇到大文件(主要是外置程序比如Office之类)太费时, ...


PECMD2012.1.75.1-130314-62.多窗口线程孵化版_win32_64.sfx.zip
SITE *touch   指定时间
SITE *touch:2013 04 10 17 44 52 921,D:\tt.txt,&V
回复

使用道具 举报

5386#
 楼主| 发表于 2013-4-10 22:05:31 | 只看该作者
2010qaqz111 发表于 2013-4-10 17:47
先 ,然后出现新的情况。

C:\z1.wcsC:\z2.wcs直接运行z2,正常显示123;运行z1,显示为空。 ...

IMPORT C:\z2.wcs 不需要IFEX, 直接IMPORT 即可。没有就不LOAD, 有就LOAD。

IFEX C:\z2.wcs
{
IMPORT C:\z2.wcs
EXIT FILE
}
改为:
IMPORT C:\z2.wcs
IFEX C:\z2.wcs, EXIT FILE

如果 C:\z2.wcs 后面有  EXIT FILE
那么一句即可
IMPORT C:\z2.wcs
后面的代码,不会执行的。
回复

使用道具 举报

5387#
 楼主| 发表于 2013-4-10 22:11:04 | 只看该作者
2010qaqz111 发表于 2013-4-10 17:47
先 ,然后出现新的情况。

C:\z1.wcsC:\z2.wcs直接运行z2,正常显示123;运行z1,显示为空。 ...


还在搞UD 啊。
FB的作者都已放弃了。
现在很多机器 都没BIOS了。 D4G不能运行, 基于该技术的启动方式将无效了。
不知道未来 怎么发展的。 彻底放弃BIOS;还是,BIOS 会回归,而成多种启动。
回复

使用道具 举报

5388#
发表于 2013-4-11 03:57:52 | 只看该作者
本帖最后由 2010qaqz111 于 2013-4-11 04:25 编辑

对,确实是加了 _SUB_END 之后那个IMPORT失效,原来的代码是没有 _SUB_END 的,那个 _SUB_END 是用来处理分辨率改变时重设 LOGO 的,换成后面那种写法应该就好了。

这几天在弄一个硬盘上用的8PE,作为应急系统,给那些不大懂电脑的人备用着,把QQOffice大体积的拼音输入法等藏到UD里,他们的系统经常搞坏,vhd都要惨遭毒手,除了这种可以藏起来的东西实在没太好的办法。

UEFI 下好像除了grub2还没有别的启动管理器?尤其是可以搞这种藏东西的。

话说 BIOS 被干掉这个问题,我觉得怎么都死不绝的,就算没BIOS了,大概也会有人在UEFI环境下弄个模拟器之类的东西来跑BIOS CODE的,毕竟很多工业用的机器和嵌入式的设计要更改代的话不说程序设计的问题,改变现有部署方式的代价就会很大,这种东西肯定会有市场的,虽然可能不太乐观。

不过对我们玩 PE 的来说,能全部迁移到 UEFI 并找到一个安全的隐藏方式的话,还是很乐意迁移的。
回复

使用道具 举报

5389#
 楼主| 发表于 2013-4-11 05:25:03 | 只看该作者
2010qaqz111 发表于 2013-4-11 03:57
对,确实是加了 _SUB_END 之后那个IMPORT失效,原来的代码是没有 _SUB_END 的,那个 _SUB_END 是用来处理分 ...

PECMD2012.1.75.1-130314-63.多窗口线程孵化版_win32_64.sfx 支持原来的写法。
不过最好不要这么写。
层次有点乱。 函数里有块, 块里有函数。

评分

参与人数 1无忧币 +5 收起 理由
clonecd + 5 赞一个!

查看全部评分

回复

使用道具 举报

5390#
发表于 2013-4-11 08:00:27 | 只看该作者
原来那种写法确实不好,破坏规矩,已经改成你给的写法了,那种坏规矩的写法明白了规则小心一点就不会再搞出来了。
回复

使用道具 举报

5391#
发表于 2013-4-11 18:13:01 | 只看该作者
有个功能:能否实现?
PE进入桌面前, 有个:输入密码的窗口, 输入后,才可以进入桌面.

具体在PECMD.INI里面实现.

请问,有可能实现吗? 如何实现?
回复

使用道具 举报

5392#
 楼主| 发表于 2013-4-11 18:35:57 | 只看该作者
2012开天辟地 发表于 2013-4-11 18:13
有个功能:能否实现?
PE进入桌面前, 有个:输入密码的窗口, 输入后,才可以进入桌面.

SHEL  命令带密码, 就有密码驶入框。 否则就直接进入。
SHEL  文件名(含路径),密码BASE字符串,重试次数]   

密码由 BASE 命令生成。


SHEL %SystemRoot%\EXPLORER.EXE,l+=,10
密吗为1, 可以输入10次, 超过10次就只有关机了。

评分

参与人数 1无忧币 +5 收起 理由
clonecd + 5 很给力!

查看全部评分

回复

使用道具 举报

5393#
发表于 2013-4-11 19:41:46 | 只看该作者
谢谢!基本搞定了

只是不用这个密码时,桌面可以自动显示图标

使用后,需要手工刷新一下才行.

是不是SHEL %SystemRoot%\EXPLORER.EXE,l+=,10
出现密码框时,后面的条目仍然在执行?
应该是等待,才对
回复

使用道具 举报

5394#
 楼主| 发表于 2013-4-11 23:57:31 | 只看该作者
本帖最后由 mdyblog 于 2013-4-12 00:01 编辑
2012开天辟地 发表于 2013-4-11 19:41
谢谢!基本搞定了

只是不用这个密码时,桌面可以自动显示图标


刚刚才能回复。 坛子这么多怪事。
Shel 带密码是是阻塞的。 正确输入密码前不再执行 一条命令。
你可能开了多线程或多进程,这样才有后台在执行。
有自动刷新桌面的命令
※刷新桌面: ENVI @@DeskTopFresh=1 //刷新桌面和我的电脑窗口
※刷新桌面: ENVI @@DeskTopFresh=2 //专业刷新桌面,只刷新桌面
回复

使用道具 举报

5395#
 楼主| 发表于 2013-4-12 00:00:21 | 只看该作者
clonecd 发表于 2013-4-11 23:31
真晕啊,现在一个帖只能送5分了。
我今天的50分,要送10个帖才行啊,无忧这样显得太小气了点。


呵呵。
是啊。
听说有人少了几万。 有人降级。
我不知道自己原来多少钱,什么级别。
回复

使用道具 举报

5396#
 楼主| 发表于 2013-4-12 01:23:51 | 只看该作者
本帖最后由 mdyblog 于 2013-4-12 01:50 编辑
clonecd 发表于 2013-4-12 00:03
我一级上将被将为大校后来又平反了,当时可是少了3万分啊。

现在在线时间也不再累计了。


已 修正。 (上次修正什么时改的吧。稳定版没事)

感觉 和老版本,没什么进步的变化。
反倒 引用式回复 多一次点击, 还要等一会儿。 否则 写的东西, 被迟来的刷新 傻妹了。

以前有 回复 和引用的区分,现在没了。
以前 引用式回复  时, 引用的内容 可以适当增减, 现在好像是死的。
以前 可以 增加 引用段,现在好像没了
回复

使用道具 举报

5397#
发表于 2013-4-12 06:26:44 | 只看该作者
如果 EXEC 要从磁盘文件加载脚本新开一个进程,命令应该怎么写?

现在是用这样写的:

EXEC %&MyName% LOAD C:\123 xxx xxx

有 --clone 的写法吗?
回复

使用道具 举报

5398#
发表于 2013-4-12 07:45:00 | 只看该作者
本帖最后由 2010qaqz111 于 2013-4-12 08:14 编辑

REGI 命令的一些问题:


要清空某个项应该怎么写?
REGI REGI HKLM\SYSTEM\123\!
这样连项本身都删除了,如果只要删除该项下所有的子项怎么写?


还有建立一个未设置默认值的空项应该怎么写?
REGI HKLM\SYSTEM\123\=
这样只有 123 存在才可以清除默认值,加上内容的话就变成设置默认值了。


设置二进制数据值的时候,@后面如果要用十六进制必须加0x前缀并且用空格分隔每一字节?
REGI HKLM\SYSTEM\123\A1=@ 0x99 0x12 0x74 0x33
遇到上千字节的数据应该如何换行?
REGI HKLM\SYSTEM\123\A1=@ 0x99 0x12 0x74 0x33
                        \ 0x99 0x13 0x62 0x74
                        \ 0x99 0x14 0x34 0x94
                        \ 0x99 0x15 0x52 0x37
这样的命令执行后注册表里的数据不对,长度77字节,除了第一行4个字节以外后面的全是00,而且第一行最后一个字节写入的数据也不正确。
回复

使用道具 举报

5399#
 楼主| 发表于 2013-4-12 09:54:23 | 只看该作者
2010qaqz111 发表于 2013-4-12 06:26
如果 EXEC 要从磁盘文件加载脚本新开一个进程,命令应该怎么写?

现在是用这样写的:

没必要 --clone
用 --clone 时,是因为没这个不能完成相应工作。
回复

使用道具 举报

5400#
 楼主| 发表于 2013-4-12 10:04:46 | 只看该作者
本帖最后由 mdyblog 于 2013-4-12 10:36 编辑

2010qaqz111 发表于 2013-4-12 07:45
REGI 命令的一些问题:
  1. 还有建立一个未设置默认值的空项应该怎么写?
  2. REGI HKLM\SYSTEM\123\=
  3. 这样只有 123 存在才可以清除默认值,加上内容的话就变成设置默认值了。
复制代码
是要一个全新的 、 没有任何设定 REGI REGI HKLM\SYSTEM\123\ 吗?
REGI REGI HKLM\SYSTEM\123\dummy=""
REGI REGI HKLM\SYSTEM\123\dummy=
  1. REGI HKLM\SYSTEM\123\A1=@ 0x99 0x12 0x74 0x33
  2.                         \ 0x99 0x13 0x62 0x74
  3.                         \ 0x99 0x14 0x34 0x94
  4.                         \ 0x99 0x15 0x52 0x37
  5. 这样的命令执行后注册表里的数据不对,长度77字节,除了第一行4个字节以外后面的全是00,而且第一行最后一个字节写入的数据也不正确。
复制代码
REGI HKLM\SYSTEM\123\A1=@ 0x99 0x12 0x74 0x33
       \  0x99 0x13 0x62 0x74
       \  0x99 0x14 0x34 0x94
       \  0x99 0x15 0x52 0x37
\ 后面多加一个空格。 第一个空格(如果存在)当作排版空格, 免得没有空格时和后面的内容 粘在一起。
大家可以发表意见,这样的分格好不好,不好我就把这个排版空格 删掉。

HELP 里有。
┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃    │命令│'并行符'                                                                                    ┃
┃    ├──┼──────────────────────────────────────────────┨
┃ 并 │格式│ \ 命令序列                                                                                 ┃
┃ 行 │    │ 一行第一个非空字符为 \                                                                     ┃
┃ 符 ├──┼──────────────────────────────────────────────┨
┃ \  │功能│并入上一行,免得一行写得太长                                                                ┃
┃    ├──┼──────────────────────────────────────────────┨
┃    │备注│\ 及以前空字符,后面的一个空字符(如果有),均丢弃                                            ┃
┣━━┷━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫

回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-7-14 18:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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