无忧启动论坛

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

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

    [复制链接]
3451#
发表于 2012-6-19 08:28:22 | 只看该作者
kill 其他的就正常,只要 kill pecmd.exe 就这样了
而且 我txt另存为其他编码 也不行,是不是我电脑缺少某编码?
回复

使用道具 举报

3452#
 楼主| 发表于 2012-6-19 09:22:23 | 只看该作者
原帖由 diannao338 于 2012-6-19 08:28 发表
kill 其他的就正常,只要 kill pecmd.exe 就这样了
而且 我txt另存为其他编码 也不行,是不是我电脑缺少某编码?



编码 这玩意,系统不会缺少的,尤其ANSI。没有ANSI windows 无法启动。
windows使用ansi为基本编码设计的。
编码 和字体不同,非常小,一般都带上。 字体可以另外安装。
没有对应字体,用相近字体显示,是在没有,一般画个方框占着。

软件设置问题。
试试在前面加几个空行。一般最笨的软件,也不会认错换行符。
得了,拷个 MS的NOTEPAD试试。丢掉你的NOTEPAD。

我想, 你不用执行改WCS。
你关闭后,重新打开,就是乱码。和执行无关。


是在不行,你就用UNICODE保存(带BOM)。用MS的NOTEPAD另存为,选择编码即可。
KILL1_UNI.WCS
PECMD 支持带BOM的各种编码文件(UNICODE,UNICODEBE,UTF8)。

WINHEX查看如下:


[ 本帖最后由 2012abc19701 于 2012-6-19 09:32 编辑 ]

kill1_uni.zip

152 Bytes, 下载次数: 14

回复

使用道具 举报

3453#
发表于 2012-6-19 09:32:00 | 只看该作者
新版72-7

WIN7PE下,PCIP 有时失败!

原来的70,正常.

是不是哪个地方没改过来?
回复

使用道具 举报

3454#
 楼主| 发表于 2012-6-19 09:34:46 | 只看该作者

回复 #3605 dvd008 的帖子

你输入的什么命令?具体写下来。
回复

使用道具 举报

3455#
发表于 2012-6-19 09:44:45 | 只看该作者
貌似你没用最后那个69-70-3(给我测试的那个)

PECMD.EXE PCIP 192.168.36.56,255.255.255.0,192.168.36.1,229.123.7.213


正常系统和PE,都是默认自动的,

执行它,设置为固定IP

新72,PE下,系统下,都测试过.03系统,多次成功

WIN7,成功一次.

[ 本帖最后由 dvd008 于 2012-6-19 09:47 编辑 ]
回复

使用道具 举报

3456#
 楼主| 发表于 2012-6-19 09:58:46 | 只看该作者

回复 #3607 dvd008 的帖子

肯定是69-70-3的源代码。我始终只保留一个代码。多了太乱。
可能是有改了点什么。我在源代码中做了标记。
优化了点,可能这种优化前提对WIN7不成立。


试试:
PECMD72_DVD008_T1.zip

[ 本帖最后由 2012abc19701 于 2012-6-19 10:01 编辑 ]
回复

使用道具 举报

3457#
发表于 2012-6-19 10:05:13 | 只看该作者
原帖由 2012abc19701 于 2012-1-22 08:30 发表
PECMD2012.1.69.66-Win32多窗口多线程(已升级) +裸机系统2.1.1 抢鲜版 + 18M-COOL  MiniPE(已升级)
***已通过启动PE测试***
下载: http://mdyblog.blog.163.com

注意:LOAD "%ProgramFiles%\a.ini" 引号一 ...



LZ,目前在WIN8 PE下使用该版本和上一个版,似乎提示说有个文件 WininetPlugin.dll 找不到。我已经下载了该文件,但不知是哪个版本的可以用。请回复。(不清楚是不是PECMD.EXE需要这个WininetPlugin.dll文件?还是其它问题引起的,呵呵)
回复

使用道具 举报

3458#
发表于 2012-6-19 10:09:04 | 只看该作者
原帖由 2012abc19701 于 2012-6-19 09:58 发表
肯定是69-70-3的源代码。我始终只保留一个代码。多了太乱。
可能是有改了点什么。我在源代码中做了标记。
优化了点,可能这种优化前提对WIN7不成立。


试试:
PECMD72_DVD008_T1.zip


这个正常!
回复

使用道具 举报

3459#
 楼主| 发表于 2012-6-19 10:35:19 | 只看该作者

回复 #3610 dvd008 的帖子

重新打包为PECMD2012.1.70.0.120619_win32.多窗口多线程-2.sfx.zip。
没有任何修改,也没有重新编译。
回复

使用道具 举报

3460#
 楼主| 发表于 2012-6-19 10:41:02 | 只看该作者

回复 #3609 kinglion 的帖子

应该不是PECMD。
1》 你问问DVD008,看他有没有类似问题。
     最好转为单个命令。在命令行直接运行该命令。
2》 可以用 DEPENDS.EXE 来查看 PECMD.EXE 需要那些DLL。

3》 可以一条一条地单独测试 PECMD网络相关的命令。看看是否出现这个问题。
回复

使用道具 举报

3461#
发表于 2012-6-19 11:38:05 | 只看该作者
原帖由 2012abc19701 于 2012-6-19 09:22 发表



编码 这玩意,系统不会缺少的,尤其ANSI。没有ANSI windows 无法启动。
windows使用ansi为基本编码设计的。
编码 和字体不同,非常小,一般都带上。 字体可以另外安装。
没有对应字体,用相近字体显示 ...


和你说的一样
前面加个空格就可以了,好奇怪啊
我这是系统默认的记事本,5.1.2600.5512
"kill pecmd" 这样也正常,输入.exe保存后就不一样了
回复

使用道具 举报

3462#
 楼主| 发表于 2012-6-19 11:51:52 | 只看该作者

回复 #3613 diannao338 的帖子

不奇怪。
因为 空格, 换行符等,一般都不会认(实为猜)错。
没有BOM提示时,老的软件强制认为ANSI。
新的软件,还试图猜测一下那个编码合适。
有些软件的猜测算法有问题。
有些算法考虑不周。
奇数个字符,更容易被猜错。

最可能被认错的是中文。很多记事本都有这个问题。
只要在前面加几个空格或换行,一般就不会认错。一般优先检测空格换行。

用UTF8编码吧。有BOM,所有的记事本都不会认错, 不用猜了。所以正宗的做法是加上BOM。
所以完善点的软件,允许用户可以手动纠正,如EditPlus,IE,都可以手动重新设定纠正乱码。


理论上,不存在这样一个准确的猜测算法。

从Win7开始,MS 的Winddows学习Linux支持多语言

通过语言设定来设定默认编码。
你是不是默认编码设为UNICODE。以至默认先用UNICODE试试。

[ 本帖最后由 2012abc19701 于 2012-6-19 12:36 编辑 ]
回复

使用道具 举报

3463#
发表于 2012-6-19 12:55:16 | 只看该作者
那个最新的,
WIN8PE也正常.

PCIP,就这样吧,不要再优化了.

不同系统,速度不一样.
03,WIN7,有个短暂的停顿,
WIN8,没有.

其实,WIN8,本身就比较快,
150M的WIN7,启动没有300M的WIN8快
回复

使用道具 举报

3464#
 楼主| 发表于 2012-6-19 14:10:54 | 只看该作者

回复 #3615 dvd008 的帖子

不再优化了.               
回复

使用道具 举报

3465#
发表于 2012-6-19 14:29:25 | 只看该作者
@2012abc19701 :
能提供一个多线程运行的实例吗?例如进到桌面时网显声已经完成。
回复

使用道具 举报

3466#
 楼主| 发表于 2012-6-19 17:09:52 | 只看该作者

回复 #3617 zhaohj 的帖子

包里有
"多线程.界面长时间初始化.WCS"(16,5):    THREAD*  FINDFILE
"0体积截图.wcs"(4,2): THREAD* WAIT  1000

"0体积截图.wcs"(5,2): THREAD*  TEAM WAIT 200 | SEND #17_,#86_,#86^,#17^  //Ctrl-V
"TABS属性页表.画中画.窗口类实例_TEST.wcs"(45,1):THREAD*  CALL @WIN1:P1
"TEST1.wcs"(15,62):    ITEM ,        L50T170W65H30,线程,  TEAM ENVI @LB=111\n222-|THREAD*   CALL  ::TEST22  
"WCS2HTMLBBS.WCS"(348,41):      ITEM BTRANS,   L20T190W65H20,转换,  THREAD*   CALL TRANS



============
_SUB  ThreadFun1   //子线程1的工组
   //....其它
   MESS 网卡已经完成@子线程1#OK
_END

_SUB  ThreadFun2   //子线程2的工组
   //....其它
   MESS 显卡已经完成@子线程2#OK
_END

_SUB  ThreadFun3   //子线程3的工组
   //....其它
   MESS 声卡已经完成@子线程3#OK
_END

THREAD* CALL   ThreadFun1
THREAD* CALL   ThreadFun2  
THREAD* CALL   ThreadFun3  
//主线程继续其它工作
MESS  主线程继续其它工作@主线程#OK
//WAIT 5000

[ 本帖最后由 2012abc19701 于 2012-6-19 17:23 编辑 ]
回复

使用道具 举报

3467#
发表于 2012-6-20 10:36:44 | 只看该作者
奇怪,我调用PETOOLS_LINK.WCS不成功
FORX @\PETOOLS,TOOLS,0,PECMD LOAD PETOOLS_LINK.WCS  "%TOOLS%”
------------------------
多线程速度确实快了好多,但我目前处理感觉还不理想,请老大看看我的配置文件。
网络这一块,速度主要文件在解压、开启服务、注册dll,这些多线程不知怎样处理?
系统初始化时能否同时处理网络?

[ 本帖最后由 zhaohj 于 2012-6-20 11:07 编辑 ]

pecmd.rar

4.1 KB, 下载次数: 39

回复

使用道具 举报

3468#
 楼主| 发表于 2012-6-20 11:38:31 | 只看该作者

回复 #3619 zhaohj 的帖子

安装驱动,本来就是排他的。不可能并行安装,否则就不安全了。
PECMD内置有这种安全机制。 同时只有一个线程在执行DEVI命令,
其它的自动进入无消耗的等待,而一旦当前DEVI结束,立即随机从当前等待
队列中取出一个执行,其它继续等待。
其它工作可以并行执行。
如果文件包不大,直接DEVI算了。

如果文件包很大,可考虑并行解压到各自的临时目录。
再用DEVI 从各自的临时目录安装。
(效果多大我不知道)

解压、可以并行
开启服务 一般可以并行,但要注意依赖关系(先后关系),否则可能失败。
注册dll 一般可以并行,但要注意依赖关系(先后关系),否则可能失败。
可以 同时处理网络。
PECMD2012本身是线程安全的。

但要注意 你的程序本身逻辑的线程安全性。
如果不熟悉,用多进程比多线程安全,效率稍微低点。
当然有些是 多进程 无法达到希望的目的。

异步多进程(子进程自生自灭)

EXEC PECMD LOAD  任务1.WCS
EXEC PECMD LOAD  任务2.WCS
EXEC PECMD LOAD  任务3.WCS
///下面是主任务4

这样实际有4个任务并行执行。


或者同步多进程(父(主)进程等待子进程退出后才会退出,从而保证所有的工作都做完了)
THREAD* EXEC =PECMD LOAD  任务1.WCS
THREAD* EXEC =PECMD LOAD  任务2.WCS
THREAD* EXEC =PECMD LOAD  任务3.WCS
///下面是主任务4

这样实际有4个任务并行执行。

[ 本帖最后由 2012abc19701 于 2012-6-20 14:57 编辑 ]
回复

使用道具 举报

3469#
 楼主| 发表于 2012-6-20 11:44:43 | 只看该作者

回复 #3619 zhaohj 的帖子

数不是引号称了中文引号,要如下的半角双引号。
//FORX @\PETOOLS,&&TOOLS,0,PECMD LOAD PETOOLS_LINK.WCS  "%&TOOLS%"  //外部脚本
//FORX @\PETOOLS,&&TOOLS,0,CALL PETOOLS_LINK  "%&TOOLS%"            //嵌入函数 ,直接调函数
//FORX @\PETOOLS,&&TOOLS,0,THREAD*  CALL PETOOLS_LINK  "%&TOOLS%"            //嵌入函数 ,多线程直接调函数

[ 本帖最后由 2012abc19701 于 2012-6-20 14:31 编辑 ]
回复

使用道具 举报

3470#
 楼主| 发表于 2012-6-20 11:53:24 | 只看该作者

回复 #3619 zhaohj 的帖子

THREAD* EXEC =!%WS%\ORDERDRV.CMD
这句有逻辑问题。
你改动盘符,可能影响其它任务。
如某任务发现D:\下某文件,在操作之前的一瞬间,你改变了D:的盘符,原来那个文件路径D:\ABC.XYZ可能没有该文件了。

建议整理盘符在开多线程/多进程之前,或者在最后。
回复

使用道具 举报

3471#
发表于 2012-6-20 12:05:08 | 只看该作者
直接从你的petools_link.wcs中复制,竟然出现这样的低级错误,呵呵。(注原版中是全角建议改过来)
多线程,还可以多进程,学习了。一直没发现EXEC PECMD EXEC

[ 本帖最后由 zhaohj 于 2012-6-20 12:09 编辑 ]
回复

使用道具 举报

3472#
发表于 2012-6-20 12:07:24 | 只看该作者
mess aaa @123#YN *8000 $N
find $%YESNO%=No,exit
mess bbb


mess 弹窗 右上角的关闭按钮X 能不能像%yesno%一样定义?或者直接去掉?
因为点了关闭 它跳过去了

要不我这样吧..
mess aaa @123#YN *8000 $N
find $%YESNO%=YES,!exit
mess bbb

[ 本帖最后由 diannao338 于 2012-6-20 12:11 编辑 ]
回复

使用道具 举报

3473#
发表于 2012-6-20 12:58:59 | 只看该作者
petools_link.wcs运行的log发上来,请看看

petools.rar

3.28 KB, 下载次数: 31

回复

使用道具 举报

3474#
 楼主| 发表于 2012-6-20 13:45:54 | 只看该作者

回复 #3624 diannao338 的帖子

>>mess aaa @123#YN *8000 $N 弹窗 右上角的关闭按钮X 能不能像%yesno%一样定义?或者直接去掉?
你的意思是不是点X的默认含义?
这个由程序负责。PECMD只负责让你能区分这些不同结果。

点X %&yesno%=CANCEL
逻辑上和【取消】按钮一个意思。
至于默认什么含义,你自己看着办了。
可以紧接着mess aaa @123#YN *8000 $N加一句
FIND $CANCEL=%&YESNO%, ENVI  &YESYNO=NO   //你的默认值NO
回复

使用道具 举报

3475#
 楼主| 发表于 2012-6-20 13:53:09 | 只看该作者

回复 #3625 zhaohj 的帖子

PETOOLS_LINK.WCS 41行  _END和  //END_OF_PETOOLS_LINK 间加个空格
PETOOLS_LINK.WCS  些的比较早,后来PECMD要求 注释前加空格,
以使http://xxx不变成注释。
回复

使用道具 举报

3476#
 楼主| 发表于 2012-6-20 14:14:56 | 只看该作者

PECMD2012.1.70.0.120620_win32.多窗口多线程-3.sfx.zip

PECMD2012.1.70.0.120620_win32.多窗口多线程-3.sfx.zip
1》 MESS  可以禁止右上角X按钮
MESS[-*=.-svr-svr2+max+min+size+close]  。。。
+close禁止右上角的X小按钮


MESS+close  ---



2> 新 PETOOLS_LINK.WCS
    改动好几处。


[ 本帖最后由 2012abc19701 于 2012-6-20 14:33 编辑 ]
回复

使用道具 举报

3477#
发表于 2012-6-20 15:25:39 | 只看该作者
最近的版本出现内存错误;
petools_link.wcs还有问题:
[LOGS *X:\windows\temp\petools.log] <0>:操作成功完成。
[FIND  $=X:\ProgramData\Microsoft\Windows\Start Menu, EXIT _SUB] <0>:操作成功完成。
[FIND  $=, EXIT _SUB] <0>:操作成功完成。
[CALL PETOOLS_LINK ] <0>:操作成功完成。
[LOGS ] <0>:操作成功完成。

[ 本帖最后由 zhaohj 于 2012-6-20 15:28 编辑 ]

Snap1.jpg (14.98 KB, 下载次数: 118)

Snap1.jpg
回复

使用道具 举报

3478#
 楼主| 发表于 2012-6-20 15:29:00 | 只看该作者

回复 #3629 zhaohj 的帖子

那个版本?
什么命令出错?
回复

使用道具 举报

3479#
 楼主| 发表于 2012-6-20 15:57:37 | 只看该作者
不是最新的吧。重新下载吧,包刮PETOOLS_LINK.WCS也要更新。
空格数不对。
[FIND  $ = C:\Documents and Settings\adm\「开始」菜单, EXIT _SUB]        <0>:操作成功完成。
[FIND  $ = T:\PETOOLS, EXIT _SUB]        <0>:操作成功完成。

2》你怎么没带参数?
[FIND  $=, EXIT _SUB]


3》即使没带参数这里也没出错。
[LOGS *E:\XX.log]        <0>:操作成功完成。
[SET &&EnviMode=1]        <0>:操作成功完成。
[SET FORCELOCAL=1]        <0>:操作成功完成。
[FIND  $ = C:\Documents and Settings\adm\「开始」菜单, EXIT _SUB]        <0>:操作成功完成。
[FIND  $ = , EXIT _SUB]        <0>:操作成功完成。
[CALL PETOOLS_LINK ]        <0>:操作成功完成。
[LOAD  D:\-s\PECMD\示例\PETOOLS_LINK.WCS]        <0>:操作成功完成。
[LOGS ]        <0>:操作成功完成。

4》完整的LOG:


5》你那错误,可能是你的系统出了问题。
    从LOG看,PECMD几乎什么都没做。
    不应该出错。否则,应该经常必然出现这种,早就被揪出来了。

[ 本帖最后由 2012abc19701 于 2012-6-20 16:01 编辑 ]

xx.log.zip

1.11 KB, 下载次数: 10

回复

使用道具 举报

3480#
 楼主| 发表于 2012-6-20 16:29:52 | 只看该作者

PECMD2012.1.70.0.120620_win32.多窗口多线程-3.sfx.zip【anrwegda】

PECMD2012.1.70.0.120620_win32.多窗口多线程-3.sfx.zip【anrwegda】

现在的 FORX 好像和当初的 FORX参数不同,

以根据新格式修改了PETOOLS_LINK.WCS 。

重新下载吧。




[ 本帖最后由 2012abc19701 于 2012-6-20 16:32 编辑 ]

xx.log.zip

1.24 KB, 下载次数: 8

回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-9-29 02:15

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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