无忧启动论坛

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

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

    [复制链接]
5461#
发表于 2013-4-13 14:35:34 | 只看该作者
&    &表示强制变为PE变量,能最简单变多线程。

这个是把什么强制变为PE变量?是指主线程里用 ENVI A=定义的变量到了子线程里就变成了一份 ENVI &&A= 定义的 A 的拷贝?
能举个例子吗?

$    提前解释THREAD 后面的命令, 变量直接变成对应的值。可避免一些延迟解释带来的问题。如%1  %循环变量%
       A=1   //
       LOOP #%&A%<3,
       {         
           THREAD*$ MESS    %A%
           // 解释为THREAD  MESS 1 ,等, 这样不受后面 A=%&A%+1 影响。
           CALC #&A=%&A%+1
       }

这个明白了,是在启动新线程之前,将 THREAD 命令后面那一行里出现的 %&变量名% 引用的变量解释完成之后再启动子线程。
回复

使用道具 举报

5462#
 楼主| 发表于 2013-4-13 14:39:39 | 只看该作者
本帖最后由 mdyblog 于 2013-4-13 14:49 编辑
2010qaqz111 发表于 2013-4-13 14:35
这个是把什么强制变为PE变量?是指主线程里用 ENVI A=定义的变量到了子线程里就变成了一份 ENVI &&A= 定义 ...


1: 就是 给子线程 强 加了 ENVI^  ForceLocal=1

原来程序    用环境变量
_SUB MAIN1
    ENVI  A=%1
    ENVI  I=0
    LOOP #%I%<100, TEAM CALC A=%A% +1| CALC  I=%I% +1
    MESS  SUM=%A%  
_END
CALL  MAIN1 100
CALL  MAIN1 200
多线程:
THREAD*&  CALL MAIN1 100
THREAD*&  CALL MAIN1  200
这样两个线程相安无事。 没有环境变量的冲突。

2:对了。
回复

使用道具 举报

5463#
发表于 2013-4-13 14:52:16 | 只看该作者
本帖最后由 2011hwo1 于 2013-4-13 14:54 编辑

定时提醒.7z (2.34 KB, 下载次数: 9)

  现在我重新写的定时提醒代码,优化了算法和界面,性能比原来的定时器要好点.
回复

使用道具 举报

5464#
 楼主| 发表于 2013-4-13 15:01:46 | 只看该作者
2011hwo1 发表于 2013-4-13 14:52
现在我重新写的定时提醒代码,优化了算法和界面,性能比原来的定时器要好点.

好的。
回复

使用道具 举报

5465#
发表于 2013-4-13 16:31:01 | 只看该作者
mdyblog 发表于 2013-4-13 14:39
1: 就是 给子线程 强 加了 ENVI^  ForceLocal=1

原来程序    用环境变量

明白了,谢谢
回复

使用道具 举报

5466#
发表于 2013-4-14 15:36:35 | 只看该作者
Win8PE下,用2012.1.70.3版pecmd show -1:-1不能显示ultraiso U+高端隐藏分区?

文件: D:\My Documents\PE\PECMD.EXE
大小: 438784 字节
文件版本: 2012.1.70.3 X86
MD5: 48331D5BD06BFCD883D8EDAEB215760F
SHA1: 4C263D32EC57627E46D497371CCA3FFE404B9B95
CRC32: 833FC50D
回复

使用道具 举报

5467#
 楼主| 发表于 2013-4-14 16:53:36 | 只看该作者
本帖最后由 mdyblog 于 2013-4-14 16:57 编辑
chiannet 发表于 2013-4-14 15:36
Win8PE下,用2012.1.70.3版pecmd show -1:-1不能显示ultraiso U+高端隐藏分区?

文件: D:\My Documents\ ...


我在  WIN7-X64 正常。


SHOW -1:-1 后

是不是你要刷新一下窗口。 或关闭我的电脑(该叫计算机),再打开。

//PECMD201201.77.0.0

//ultraiso U+  后我U盘上的东西都没了。 也太。。。。
回复

使用道具 举报

5468#
发表于 2013-4-14 17:02:50 | 只看该作者
mdyblog 发表于 2013-4-14 16:53
我在  WIN7-X64 正常。

我在windows XP下测试5811楼那个pecmd.exe 的show命令完全正常。
回复

使用道具 举报

5469#
发表于 2013-4-14 17:26:25 | 只看该作者
到实机win8PE下测试正常。看来是虚拟机有些问题。
回复

使用道具 举报

5470#
 楼主| 发表于 2013-4-14 17:54:42 | 只看该作者
chiannet 发表于 2013-4-14 17:26
到实机win8PE下测试正常。看来是虚拟机有些问题。

对啊。
USM_8PE_x64_UEFI_v1.0.0.3.iso
下 正常。
回复

使用道具 举报

5471#
发表于 2013-4-14 21:22:31 | 只看该作者
本帖最后由 2012yws@ 于 2013-4-14 21:30 编辑
mdyblog 发表于 2013-4-14 17:54
对啊。
USM_8PE_x64_UEFI_v1.0.0.3.iso
下 正常。


楼主,恳请你认真快速修正TEMP命令造成混乱的问题,如图:


另请在TEMP Setting 设置参数中添加静默方式,现在只有弹出对话框设置的方式;

*建议在这个命令的设置上强制加上默认“TEMP”目录的设置,就是无论设置到什么路径,在没有指定目录的情况下,强制使用默认值,如:x:\temp,不然会产生很痛苦的结果。
回复

使用道具 举报

5472#
发表于 2013-4-14 21:40:09 | 只看该作者
这段代码为何执行不了?哪里写错了?
  1. LOGS **2 *%Desktop%\z.log
  2. FZ3 1 2 3

  3. _SUB FZ1
  4.     SET &A=%*
  5.     MESS %&A%
  6. _END

  7. _SUB FZ2
  8.     SET &A=%*
  9.     FZ1 %&A%
  10. _SUB

  11. _SUB FZ3
  12.     SET &A=%*
  13.     FZ2 %&A%
  14. _END
复制代码
这是直接在pecmd窗口执行的 log
  1. 1256        3678146966152.216        {ENTER:X:\WINDOWS\system32\*map:2452:366}
  2. 1256        3678147037995.123        [LOGS **2 *X:\Users\Default\Desktop\z.log]        <0>        :操作成功完成。
  3. 1256        3678147170928.938        {FZ3 1 2 3}
  4. 1256        3678148331656.184        [FZ3 1 2 3]        <2>        :系统找不到指定的文件。
  5. 1256        3678148649328.904        [LEAVE:*map:2452:366]
  6. 1256        3678148876587.080        [LEAVE:]
复制代码
这是在文件加载执行的log
  1. 1996        3771202630721.102        {ENTER:X:\Users\Default\Desktop\1.wcs}
  2. 1996        3771202704030.191        [LOGS **2 *X:\Users\Default\Desktop\z.log]        <0>        :操作成功完成。
  3. 1996        3771202872641.096        {FZ3 1 2 3}
  4. 1996        3771203982540.707        [FZ3 1 2 3]        <2>        :系统找不到指定的文件。
  5. 1996        3771204335890.517        [LEAVE:X:\Users\Default\Desktop\1.wcs]
  6. 1996        3771204606156.692        [LEAVE:]
复制代码
回复

使用道具 举报

5473#
 楼主| 发表于 2013-4-14 22:24:01 | 只看该作者
本帖最后由 mdyblog 于 2013-4-14 23:33 编辑
2012yws@ 发表于 2013-4-14 21:22
楼主,恳请你认真快速修正TEMP命令造成混乱的问题,如图:


>>楼主,恳请你认真快速修正TEMP命令造成混乱的问题
1. 不知混乱在哪里?
WINDOWS 就这样。

2. TEMP Setting %PETEMP%
命令用错了。
应该 为【TEMP Setting】

3。 》》*建议在这个命令的设置上强制加上默认“TEMP”目录的设置,就是无论设置到什么路径,在没有指定目录的情况下,强制使用默认值
可以写注册表实现。
_SUB  SETTEMP     
  REGI $HKCR\Environment\TEMP=%~1  
  REGI $HKCR\Environment\TMP=%~1
  ENVI TEMP=%~1
  ENVI TMP=%~1
_END

_SUB  SETTEMP   //标准点,
  ENVI #TEMP=%~1
  ENVI #TMP=%~1
_END


_SUB  SETTEMP   //复杂点,兼顾到
  REGI $HKCR\Environment\TEMP=%~1  
   REGI $HKCR\Environment\TMP=%~1
   ENVI TEMP=%~1
   ENVI TMP=%~1
  THREAD$    TEAM ENVI
_END

SETTEMP   D:\TEMP

回复

使用道具 举报

5474#
 楼主| 发表于 2013-4-14 22:29:58 | 只看该作者
2010qaqz111 发表于 2013-4-14 21:40
这段代码为何执行不了?哪里写错了?这是直接在pecmd窗口执行的 log这是在文件加载执行的log

第12行错了 不是_SUB
而是_END
回复

使用道具 举报

5475#
发表于 2013-4-14 22:32:58 | 只看该作者
本帖最后由 2010qaqz111 于 2013-4-14 22:34 编辑
mdyblog 发表于 2013-4-14 22:29
第12行错了 不是_SUB
而是_END


我晕死。。。复制粘贴没看清,今天昏头了算了睡觉去明天再搞了@@
回复

使用道具 举报

5476#
 楼主| 发表于 2013-4-14 22:41:51 | 只看该作者
本帖最后由 mdyblog 于 2013-4-15 14:13 编辑
2010qaqz111 发表于 2013-4-14 22:32
我晕死。。。复制粘贴没看清,今天昏头了算了睡觉去明天再搞了@@

用 PECMDEDIT吧。(包内有,EDITPLUS  PECMDEDIT, UEDIT 均已改)
回复

使用道具 举报

5477#
发表于 2013-4-14 23:02:59 | 只看该作者
有点明白,TEMP是否系统分了系统变量和用户变量?
而这两个变量不在一个层级?而TEMP设置的是用户变量?
如果要设置用户变量和系统变量都统一,该如何做?
回复

使用道具 举报

5478#
 楼主| 发表于 2013-4-14 23:22:46 | 只看该作者
2012yws@ 发表于 2013-4-14 23:02
有点明白,TEMP是否系统分了系统变量和用户变量?
而这两个变量不在一个层级?而TEMP设置的是用户变量?
...



_SUB  SETTEMPALL   //复杂点,兼顾到
    REGI $HKCR\Environment\TEMP=%~1  
    REGI $HKCR\Environment\TMP=%~1
    REGI $HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\TEMP=%~1
    REGI $HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\TMP=%~1
    ENVI TEMP=%~1
    ENVI TMP=%~1
    THREAD$    TEAM ENVI
_END

SETTEMPALL  D:\TEMP
回复

使用道具 举报

5479#
发表于 2013-4-14 23:35:37 | 只看该作者
mdyblog 发表于 2013-4-14 23:22
_SUB  SETTEMPALL   //复杂点,兼顾到
    REGI $HKCR\Environment\TEMP=%~1  
    REGI $HKCR\En ...

谢谢了,不过想问“SETTEMPALL  D:\TEMP

的写法工作原理是什么?以前好像是不支持这样的命令写法的.
回复

使用道具 举报

5480#
 楼主| 发表于 2013-4-14 23:53:46 | 只看该作者
本帖最后由 mdyblog 于 2013-4-15 08:34 编辑
2012yws@ 发表于 2013-4-14 23:35
谢谢了,不过想问“SETTEMPALL  D:\TEMP

的写法工作原理是什么?以前好像是不支持这样的命令写法的.


PECMD2012  早就有了。

SETTEMPALL  D:\TEMP
就是 CALL  SETTEMPALL  D:\TEMP
省略 CALL  。
CALL  函数
看起来 更像 一个 命令, 方便 命令扩展。
  D:\TEMP 是函数的参数表

同样 在不混淆的情况下, EXEC 可省。 (不建议省掉 EXEC,影响效率)
回复

使用道具 举报

5481#
发表于 2013-4-15 09:32:13 | 只看该作者
本帖最后由 2010qaqz111 于 2013-4-15 10:40 编辑
mdyblog 发表于 2013-4-14 22:41
EDITPLUS 用这个配置文件吧。(包内有, PECMDEDIT, UEDIT 均已改)


我用的就是 EDITPLUS,包内的语法文件也有加载,不过这一段码当时是为了试试直接传 %* 到另个函数在 notepad2 里面搞的,所以没有上色@@

UE32最新v19版的语法文件设置已经变了,每个语言有一个单独的语法着色文件,我把包里的 WORDFILE 提出 PECMD 的部分放到语法着色文件目录里面但是好像不起作用。
回复

使用道具 举报

5482#
发表于 2013-4-15 09:57:19 | 只看该作者
设置页面文件的时候出错:

472        1823583801166.589        [PAGE C:\PAGEFILE.SYS 4096 4096]        <3221225712>        :

我测试用的机器内存 4G,x86win8pe。

这个数字改成 4000左右能够成功返回<0>,数字再大的话也是一样的返回结果,这是什么原因?
回复

使用道具 举报

5483#
 楼主| 发表于 2013-4-15 11:17:17 | 只看该作者
本帖最后由 mdyblog 于 2013-4-15 11:19 编辑
2010qaqz111 发表于 2013-4-15 09:57
设置页面文件的时候出错:

472        1823583801166.589                        :


4G 超出整数(INT32,windows下即使是X64平台INT都是32位的)范围。
已修正。
6728        56626635878065.268        [PAGE D:\PAGEFILE4.SYS 8096 8096]        <0>        :操作成功完成。
回复

使用道具 举报

5484#
 楼主| 发表于 2013-4-15 11:22:50 | 只看该作者
本帖最后由 mdyblog 于 2013-4-15 11:41 编辑
2010qaqz111 发表于 2013-4-15 09:32
我用的就是 EDITPLUS,包内的语法文件也有加载,不过这一段码当时是为了试试直接传 %* 到另个函数在 no ...


我用的UE32 还是 UE8
装的是UE16,  看着不习惯,用UE8绿色版的几个文件覆盖过去的。
UE19 的 语法文件 的语法可能不同了。 说有兴趣, 用最新的 文件改改, 传上来大家分享。
回复

使用道具 举报

5485#
 楼主| 发表于 2013-4-15 14:07:05 | 只看该作者
本帖最后由 mdyblog 于 2013-4-15 14:14 编辑
2010qaqz111 发表于 2013-4-15 09:32
我用的就是 EDITPLUS,包内的语法文件也有加载,不过这一段码当时是为了试试直接传 %* 到另个函数在 no ...


UEdit19 PECMD 语法着色文件。(包内有)
UEdit19语法着色PECMD.uew.zip (1.54 KB, 下载次数: 4)
回复

使用道具 举报

5486#
发表于 2013-4-15 15:14:23 | 只看该作者
本帖最后由 2012yws@ 于 2013-4-15 15:18 编辑
mdyblog 发表于 2013-4-15 14:07
UEdit19 PECMD 语法着色文件。(包内有)


谢谢楼主,不过楼主为何不试试UC--UEStudio,它比UE强大,语法文件有些地方需要修改,但整体可以通用。
由于在win7系统中分了系统变量和用户变量,所以,还是需要楼主你将命令器的这些系统变量完善好,这样可以有更大的设置模式空间,同时也可以完整的在win7系统的标准环境中使用。捣鼓了这么久发现,命令器是相当的不错,但由于系统变量和环境变量的问题,常常会导致许多想法无法实现。
因此希望楼主可以完善它,具体点是希望ENVI $设置的环境变量可以同时支持设置用户变量和默认用户,现在只能设置系统环境变量,而用户和默认是不能有效的,这样许多程序运行就出现问题了;
TEMP命令,希望可以一个命令搞定,这个在前面有提过。楼主的方法是不错,但放在配置文件中使用会出现问题,请楼主也一并完善;
PAGE命令,可能是注册表部分没有完善,虽然设置是成功的,但是在系统的属性页中查看不到,有些软件运行起来还是会提示没有缓存导致运行失败
回复

使用道具 举报

5487#
 楼主| 发表于 2013-4-15 16:40:37 | 只看该作者
本帖最后由 mdyblog 于 2013-4-15 17:45 编辑
2012yws@ 发表于 2013-4-15 15:14
谢谢楼主,不过楼主为何不试试UC--UEStudio,它比UE强大,语法文件有些地方需要修改,但整体可以通用。 ...


1
用户变量和系统变量,不是WIN7才有的, 早就有了。
一般只涉及到用户变量。

2:
TEMP命令,希望可以一个命令搞定,这个在前面有提过。

一般只设置用户变量。

3:》》PAGE命令,可能是注册表部分没有完善,虽然设置是成功的,但是在系统的属性页中查看不到,有些软件运行起来还是会提示没有缓存导致运行失败
我测试, 正常啊。 在系统的属性页 中能看到 预定的改变。

B:  我认为要区分一下 软件的 目标: 可用行和方便性。
什么都方便, 那么软件会成为巨无霸。
一些不常用的, 只要“可用性” (即能实现)即可, 可以用起来不那么方便。
回复

使用道具 举报

5488#
 楼主| 发表于 2013-4-15 17:43:55 | 只看该作者
mdyblog 发表于 2013-4-15 16:40
1
用户变量和系统变量,不是WIN7才有的, 早就有了。
一般只涉及到用户变量。

PECMD2012.1.77.1-130410-05.多窗口线程孵化版_win32_64.sfx:

TEMP @[$]Setting   新临时目录,[变量名]         //静默设置
TEMP [$]Setting]  [初始目录][,变量名]   

$ : 也设置系统变量   

ENVI   $#ABC=1
$#可同时用, 系统变量和用户变量都设置。
回复

使用道具 举报

5489#
发表于 2013-4-15 17:55:53 | 只看该作者
本帖最后由 2012yws@ 于 2013-4-15 18:29 编辑
mdyblog 发表于 2013-4-15 17:43
PECMD2012.1.77.1-130410-05.多窗口线程孵化版_win32_64.sfx:

TEMP @[$]Setting   新临时目录,[变量名 ...


这样就太好了,先下来测试看看效果,谢谢楼主

测试结果:




前导"$"表示设置系统级环境变量,"#"表示设置用户级环境变量,可同时用;均广播所有程序(5秒超时)
这个广播我测试不成功,是否需要使用其它方法,或者是在配置文件中怎么使用?
回复

使用道具 举报

5490#
 楼主| 发表于 2013-4-15 19:11:03 | 只看该作者
本帖最后由 mdyblog 于 2013-4-15 19:19 编辑
2012yws@ 发表于 2013-4-15 17:55
这样就太好了,先下来测试看看效果,谢谢楼主

测试结果:


>>这里没显示。
你是正常系统 吗。
需要在正常系统测试。
(win7X64)
重要的是内存不足的情况下,内存增加了没有。
还有如果剩余内存本来购大,可能什么也不干。 可以加  *force  开关, 强制 加 交换内存。


》》这个广播我测试不成功》
这个没法测试。 看不见的。 只是提醒一下使用这条命令的人, 有可能程序卡在这里,最长卡5秒。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-7-23 18:03

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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