无忧启动论坛

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

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

    [复制链接]
10981#
发表于 2015-9-30 16:42:40 | 只看该作者
ok...........

屏幕捕获0001.PNG (901.08 KB, 下载次数: 143)

屏幕捕获0001.PNG

点评

这个准确,默认下面正中间。而且能判断任务栏的位置(下、上、左、右),相应处理。 效果: [attachimg]228287[/attachimg]  详情 回复 发表于 2015-9-30 22:36
回复

使用道具 举报

10982#
发表于 2015-9-30 16:51:06 | 只看该作者
上图为平板电脑,实际显示.

虽然略,偏左,偏下, ( 左边有空, 压了点任务栏)

基本可以.
回复

使用道具 举报

10983#
 楼主| 发表于 2015-9-30 22:36:13 | 只看该作者

PECMD.rar (776.36 KB, 下载次数: 12)
这个准确,默认下面正中间。而且能判断任务栏的位置(下、上、左、右),相应处理。

效果:
回复

使用道具 举报

10984#
发表于 2015-10-1 09:19:22 | 只看该作者
完美。太完美!    。
回复

使用道具 举报

10985#
发表于 2015-10-2 09:37:34 | 只看该作者
请教M大SED命令的用法。多谢!
一个原始的长字符串%msg%,要查找的子字符串:
开头是Network, 中间包含connect,结尾是%NL%%NL%(NL=0d 0a)
怎样:
1. 在%msg%中删除子字符串?
2. 从%msg%中提取子字符串?

点评

下载72版。 SED直接返回子串 SED i=?,%sub%,&&mysub,%msg%[/backcolor] -- ------- 位置 实际子串  详情 回复 发表于 2015-10-2 14:00
回复

使用道具 举报

10986#
 楼主| 发表于 2015-10-2 10:48:59 | 只看该作者
sp_star 发表于 2015-10-2 09:37
请教M大SED命令的用法。多谢!
一个原始的长字符串%msg%,要查找的子字符串:
开头是Network, 中间包含con ...


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
TEAM ENVI^ ENVIMODE=1| ENVI^ FORCELOCAL=1
SET$ NL=0d 0a
SET$ NL1=0a
SET msg=1111 2222Network scsdcdcd cdcd xxx connectcdascdscscdsa%NL%%NL%cscd cdscds
//               -------                   -------             --------
set sub=Network[^%NL1%]*connect[^%NL1%]*%NL%%NL%
SED i=?,%sub%,,%msg%
MESS 字串位置:%i%
IFEX $%i%>0, //找到
{
    MSTR * &msg2=%i%,0,msg
    READ -*,1,&&mysub,&MSG2
    SET mysub=%mysub%%NL%%NL%  //是否补上,根据需要
    MESS. 实际字串[%mysub%]
}  

点评

感谢M大,已经想办法解决了。 将单个的%NL%先替换成%TAB%,在用你给的表达式就可以了。  详情 回复 发表于 2015-10-2 17:03
谢谢!你给的例子确实可以。但我的字符串比较特殊。类似这样的,就查找不到。(i返回0) SET msg=1111 2222Network scsdcdcd cdcd x%NL%xx connectcdas%NL%cdscscdsa%NL%%NL%cscd cdscds 另外,提取字符串可以用  详情 回复 发表于 2015-10-2 16:41
回复

使用道具 举报

10987#
 楼主| 发表于 2015-10-2 14:00:42 | 只看该作者
sp_star 发表于 2015-10-2 09:37
请教M大SED命令的用法。多谢!
一个原始的长字符串%msg%,要查找的子字符串:
开头是Network, 中间包含con ...

下载72版。 SED直接返回子串
SED i=?,%sub%,&&mysub,%msg%
   --         -------   
   位置       实际子串
1
2
3
4
5
6
7
8
TEAM ENVI^ ENVIMODE=1| ENVI^ FORCELOCAL=1
SET$ NL=0d 0a
SET$ NL1=0a
SET msg=1111 2222Network scsdcdcd cdcd xxx connectcdascdscscdsa%NL%%NL%cscd cdscds
//               -------                   -------             --------
set sub=Network[^%NL1%]*connect[^%NL1%]*%NL%%NL%
SED i=?,%sub%,&&mysub,%msg%
MESS. 字串位置:%i% 实际字串[%mysub%]  
回复

使用道具 举报

10988#
发表于 2015-10-2 15:12:49 | 只看该作者
近期在用PCIP,有几个问题想请教一下:PCIP ? IP,MASK,GW,DNS,0?NAME,MAC,LINK这个是用来查询的。
1、如果是指定IP的就会有数据,但如果是动态IP,就没有数据,看了一下注册表,这个时候用的是DhcpIPAddress、DhcpSubnetMask、DhcpDefaultGateway,而你的命令总是用不带的DHCP的变量值,所以有的是空的。
2、如果是动态IP,我想知道DhcpServer的值,好像就没办法用PCIP这个命令。我不得不查注册表来获取。

因此,建议强化这个命令:1、自动识别是动态还是静态IP,以便填充正确的取值 2、如果是动态IP应允许查询DhcpServer的值

点评

PCIP 强化了 1)能返回实际数值。 2)加了个字段,是否是DHCP ┃ │ │PCIP ?[*[/backcolor]],[子网变量名],[网关变量名],[DNS变量名],[网卡序号][?][名称变量名] ┃ ┃ │ │  详情 回复 发表于 2015-10-2 20:55
示例\GetIP.WCS 中的函数可以的。  详情 回复 发表于 2015-10-2 17:43
回复

使用道具 举报

10989#
发表于 2015-10-2 16:41:47 | 只看该作者

谢谢!你给的例子确实可以。但我的字符串比较特殊。类似这样的,就查找不到。(i返回0)
SET msg=1111 2222Network scsdcdcd cdcd x%NL%xx connectcdas%NL%cdscscdsa%NL%%NL%cscd cdscds

另外,提取字符串可以用删除不匹配的来实现。上面的例子set sub=......,删除所有不匹配的应该怎么写呢?

点评

用新版这个 , 就支持多行---啥都支持 SED i=?,%sub%,&&mysub,%msg%  详情 回复 发表于 2015-10-2 17:42
回复

使用道具 举报

10990#
发表于 2015-10-2 17:03:55 | 只看该作者

感谢M大,已经想办法解决了。
将单个的%NL%先替换成%TAB%,在用你给的表达式就可以了。
回复

使用道具 举报

10991#
 楼主| 发表于 2015-10-2 17:42:51 | 只看该作者
sp_star 发表于 2015-10-2 16:41
谢谢!你给的例子确实可以。但我的字符串比较特殊。类似这样的,就查找不到。(i返回0)
SET msg=1111 22 ...

用新版这个 , 就支持多行---啥都支持
SED i=?,%sub%,&&mysub,%msg%

点评

谢谢!这样使用SED主要是为了将变量直接填到表格中,要删除表格中的一列,也可以用SED来事先删除。哪种方法效率高一点? 另外,表格支持排序吗?或者有没有表格排序的例子?  详情 回复 发表于 2015-10-2 17:51
回复

使用道具 举报

10992#
 楼主| 发表于 2015-10-2 17:43:59 | 只看该作者
本帖最后由 mdyblog 于 2015-10-2 17:53 编辑
hhh333 发表于 2015-10-2 15:12
近期在用PCIP,有几个问题想请教一下:PCIP ? IP,MASK,GW,DNS,0?NAME,MAC,LINK这个是用来查询的。
1、如果 ...


示例\GetIP.WCS
中的函数可以的。
GetIP.zip (1.4 KB, 下载次数: 1)



  1. GetCardId 1 &&nm  IPS  IPS0        //获得 连接1  的信息表
  2. MESS. 连接1: <%&nm%> [%NL%%IPS%]

  3. GetIPX  &&ip "IP Address"  "IPv4 " IPS -sub
  4. GetIPX  &&mask "Subnet Mask"  "子网掩码" IPS  -sub
  5. GetIPX  &&gw "Default Gateway"  "默认网关"  IPS  -sub

  6. MESS IP  : %ip1% %ip2% %ip3% %ip4% [%ip%]\nMASK: %mask1% %mask2% %mask3% %mask4% [%mask%] \nGW  : %gw1% %gw2% %gw3% %gw4% [%gw%] \n
复制代码


查询本机IP:
  1. SOCK --gethostbyname*    IP;
复制代码

MESS %IP%
回复

使用道具 举报

10993#
发表于 2015-10-2 17:51:56 | 只看该作者
mdyblog 发表于 2015-10-2 17:42
用新版这个 , 就支持多行---啥都支持
SED i=?,%sub%,&&mysub,%msg%

谢谢!这样使用SED主要是为了将变量直接填到表格中,要删除表格中的一列,也可以用SED来事先删除。哪种方法效率高一点?
另外,表格支持排序吗?或者有没有表格排序的例子?

点评

图形界面排序效率低。 还是先排好, 再填入  详情 回复 发表于 2015-10-2 17:54
回复

使用道具 举报

10994#
 楼主| 发表于 2015-10-2 17:54:16 | 只看该作者
本帖最后由 mdyblog 于 2015-10-2 17:55 编辑
sp_star 发表于 2015-10-2 17:51
谢谢!这样使用SED主要是为了将变量直接填到表格中,要删除表格中的一列,也可以用SED来事先删除。哪种方 ...


图形界面排序效率低。
还是先排好, 再1次填入

点评

那准备填入表格的变量,有什么命令能方便排序吗?  详情 回复 发表于 2015-10-2 18:06
回复

使用道具 举报

10995#
发表于 2015-10-2 18:06:16 | 只看该作者
mdyblog 发表于 2015-10-2 17:54
图形界面排序效率低。
还是先排好, 再1次填入

那准备填入表格的变量,有什么命令能方便排序吗?

点评

只有自己写了。 IFEX 比较排序贝。 就用冒泡排序吧。 好像示例中有。  详情 回复 发表于 2015-10-2 19:00
回复

使用道具 举报

10996#
 楼主| 发表于 2015-10-2 19:00:04 | 只看该作者
sp_star 发表于 2015-10-2 18:06
那准备填入表格的变量,有什么命令能方便排序吗?

只有自己写了。
IFEX 比较排序贝。
就用冒泡排序吧。 好像示例中有。

点评

好的,回头慢慢试下。  详情 回复 发表于 2015-10-2 19:26
回复

使用道具 举报

10997#
发表于 2015-10-2 19:26:58 | 只看该作者
mdyblog 发表于 2015-10-2 19:00
只有自己写了。
IFEX 比较排序贝。
就用冒泡排序吧。 好像示例中有。

好的,回头慢慢试下。
回复

使用道具 举报

10998#
发表于 2015-10-2 20:33:06 | 只看该作者
@mdyblog 您好!近日发现PECMD 的font在WIN10上面使用有问题,如:PECMD.EXE font  %windir%\Fonts
在WIN7、WIN8.1都正常,但在WIN10上停顿动了。

点评

font %windir%\Fonts ----------- 这种标准目录 不用font吧。windows自己处理了。  详情 回复 发表于 2015-10-2 20:35
回复

使用道具 举报

10999#
 楼主| 发表于 2015-10-2 20:35:33 | 只看该作者
kcyou 发表于 2015-10-2 20:33
@mdyblog 您好!近日发现PECMD 的font在WIN10上面使用有问题,如:PECMD.EXE font  %windir%\Fonts
在WIN7 ...

font  %windir%\Fonts
-----------
这种标准目录 不用font吧。windows自己处理了。
回复

使用道具 举报

11000#
 楼主| 发表于 2015-10-2 20:55:06 | 只看该作者
hhh333 发表于 2015-10-2 15:12
近期在用PCIP,有几个问题想请教一下:PCIP ? IP,MASK,GW,DNS,0?NAME,MAC,LINK这个是用来查询的。
1、如果 ...

PCIP 强化了
1)能返回实际数值。
2)加了个字段,是否是DHCP

┃    │    │PCIP ?[*][IP变量名],[子网变量名],[网关变量名],[DNS变量名],[网卡序号][?][名称变量名]         ┃
┃    │    │                 [,MAC变量名][,连接变量名][,DHCP名]                       //查询  *:实际值  ┃

点评

这么快,试了,DHCP的值为1,这个应该是DHCP地址,不应该是是否启用了DHCP,如果这个是空的自然就知道没有启用,否则表示已经启用。  详情 回复 发表于 2015-10-2 22:26
回复

使用道具 举报

11001#
发表于 2015-10-2 22:26:55 | 只看该作者
mdyblog 发表于 2015-10-2 20:55
PCIP 强化了
1)能返回实际数值。
2)加了个字段,是否是DHCP


这么快,试了,DHCP的值为1,这个应该是DHCP地址,不应该是是否启用了DHCP,如果这个是空的自然就知道没有启用,否则表示已经启用。因此返回DHCP的地址更有用。

点评

?* 返回的 就是 实际地址=用户设定的固定地址 或 DHCP获得地址。 试试就知道了。 DHCP 只是 告诉你获得的这个实际地址 是用户自己设定的还是DHCP获得的。  详情 回复 发表于 2015-10-2 22:53
回复

使用道具 举报

11002#
 楼主| 发表于 2015-10-2 22:53:24 | 只看该作者
本帖最后由 mdyblog 于 2015-10-2 23:03 编辑
hhh333 发表于 2015-10-2 22:26
这么快,试了,DHCP的值为1,这个应该是DHCP地址,不应该是是否启用了DHCP,如果这个是空的自然就知道 ...


?* 返回的 就是 实际地址=用户设定的固定地址 或  DHCP获得地址。
试试就知道了。

DHCP 只是 告诉你获得的这个实际地址 是用户自己设定的还是DHCP获得的。
本来没有这个,加这个为了方便。(没有这个。  则要? 和?*对比 才知道是否是用户设定的)

  1. PCIP ? IP,MASK,GW,DNS,0?NAME,MAC,LINK,DHCP
  2. SET V1=设定值:%IP% %MASK% %GW% %DNS% %MAC% [%LINK%]  [%NAME%]  DHCP[%DHCP%]
  3. PCIP ?* IP,MASK,GW,DNS,0?NAME,MAC,LINK,DHCP
  4. MESS %V1% \n实际值:%IP% %MASK% %GW% %DNS% %MAC% [%LINK%]  [%NAME%]  DHCP[%DHCP%]
复制代码



点评

我是从应用的角度来的,因此我指的DHCP应该反映的是DhcpServer的值,也即为本机分配IP的DHCP服务器的地址,这个可以到注册表中查到,如果未分配成功,或指定IP的,这个值就是空的。 想要这个IP是想在网启时与服务  详情 回复 发表于 2015-10-2 23:33
回复

使用道具 举报

11003#
发表于 2015-10-2 23:33:59 | 只看该作者
mdyblog 发表于 2015-10-2 22:53
?* 返回的 就是 实际地址=用户设定的固定地址 或  DHCP获得地址。
试试就知道了。

我是从应用的角度来的,因此我指的DHCP应该反映的是DhcpServer的值,也即为本机分配IP的DHCP服务器的地址,这个可以到注册表中查到,如果未分配成功,或指定IP的,这个值就是空的。

想要这个IP是想在网启时与服务器通信,而你的这个值用处不大。

点评

我是从应用的角度来的,因此我指的DHCP应该反映的是DhcpServer的值,也即为本机分配IP的DHCP服务器的地址 想要这个IP是想在网启时与服务器通信,而你的这个值用处不大。 ----------------------------- 明白了  详情 回复 发表于 2015-10-3 00:52
回复

使用道具 举报

11004#
 楼主| 发表于 2015-10-3 00:52:22 | 只看该作者
hhh333 发表于 2015-10-2 23:33
我是从应用的角度来的,因此我指的DHCP应该反映的是DhcpServer的值,也即为本机分配IP的DHCP服务器的地址 ...

我是从应用的角度来的,因此我指的DHCP应该反映的是DhcpServer的值,也即为本机分配IP的DHCP服务器的地址

想要这个IP是想在网启时与服务器通信,而你的这个值用处不大。
-----------------------------
明白了,需要1项新的信息:DhcpServer
加上了。
  1. PCIP ?* IP,MASK,GW,DNS,0?NAME,MAC,LINK,DHCP,bDHCP
  2. SET V2=实际值:%IP% %MASK% %GW% %DNS% %MAC% [%LINK%]  [%NAME%]  DHCP[%DHCP%] bDHCP[%bDHCP%]
  3. PCIP ? IP,MASK,GW,DNS,0?NAME,MAC,LINK,DHCP,bDHCP
  4. SET V1=设定值:%IP% %MASK% %GW% %DNS% %MAC% [%LINK%]  [%NAME%]  DHCP[%DHCP%] bDHCP[%bDHCP%]
  5. MESS %V1% \n%V2%
复制代码


效果:

固定IP:
设定值:192.168.1.201 255.255.255.0 192.168.1.100 202.106.0.20 00-16-87-06-97-88 [本地连接]  [{817DB557-2371-411B-B429-96AD94CC1B35}]  DHCP[255.255.255.255] bDHCP[0]
实际值:192.168.1.201 255.255.255.0 192.168.1.100 202.106.0.20 00-16-87-06-97-88 [本地连接]  [{817DB557-2371-411B-B429-96AD94CC1B35}]  DHCP[255.255.255.255] bDHCP[0]

DHCP:
设定值:0.0.0.0 0.0.0.0   00-16-87-06-97-88 [本地连接]  [{817DB557-2371-411B-B429-96AD94CC1B35}]  DHCP[192.168.1.100] bDHCP[1]
实际值:192.168.1.201 255.255.255.0 192.168.1.100 202.106.46.151 202.106.195.68 00-16-87-06-97-88 [本地连接]  [{817DB557-2371-411B-B429-96AD94CC1B35}]  DHCP[192.168.1.100] bDHCP[1]

xp 下测试:固定IP时,DhcpServer 的值为   255.255.255.255], 不是空值


点评

刚才试了,现在好了,前面的DNS不正常; 确实指定IP时,dhcpserver确实是255.255.255.255,win7也是这样的,估计都是这样的,我查注册表也是这样的。  详情 回复 发表于 2015-10-3 01:15
回复

使用道具 举报

11005#
发表于 2015-10-3 01:15:44 | 只看该作者
mdyblog 发表于 2015-10-3 00:52
我是从应用的角度来的,因此我指的DHCP应该反映的是DhcpServer的值,也即为本机分配IP的DHCP服务器的地址 ...

刚才试了,现在好了,前面的DNS不正常;
确实指定IP时,dhcpserver确实是255.255.255.255,win7也是这样的,估计都是这样的,我查注册表也是这样的。

点评

加了字段, 可以获得网卡的状态。  详情 回复 发表于 2015-10-3 10:29
回复

使用道具 举报

11006#
 楼主| 发表于 2015-10-3 10:29:32 | 只看该作者
本帖最后由 mdyblog 于 2015-10-3 10:48 编辑
hhh333 发表于 2015-10-3 01:15
刚才试了,现在好了,前面的DNS不正常;
确实指定IP时,dhcpserver确实是255.255.255.255,win7也是这样 ...


加了字段, 可以获得网卡状态、  网卡媒体类型 。
回复

使用道具 举报

11007#
发表于 2015-10-3 15:57:24 | 只看该作者
怎样获取到当前硬盘上激活分区的盘符是哪个呢

点评

什么较 “当前硬盘”? 比如机器有3个硬盘, 那个硬盘才是你说的 当前硬盘?  详情 回复 发表于 2015-10-3 16:32
回复

使用道具 举报

11008#
 楼主| 发表于 2015-10-3 16:32:20 | 只看该作者
小絔小小小 发表于 2015-10-3 15:57
怎样获取到当前硬盘上激活分区的盘符是哪个呢

什么较 “当前硬盘”?
比如机器有3个硬盘, 那个硬盘才是你说的 当前硬盘?

点评

无论几个硬盘,按照物理顺序获取第一个激活分区的盘符,可以实现吗?  详情 回复 发表于 2015-10-3 16:53
回复

使用道具 举报

11009#
发表于 2015-10-3 16:53:47 | 只看该作者
本帖最后由 小絔小小小 于 2015-10-3 16:57 编辑
mdyblog 发表于 2015-10-3 16:32
什么较 “当前硬盘”?
比如机器有3个硬盘, 那个硬盘才是你说的 当前硬盘?


提供一个盘符,在这个盘符所在的硬盘上获取激活分区的盘符。
回复

使用道具 举报

11010#
 楼主| 发表于 2015-10-3 20:19:45 | 只看该作者
本帖最后由 mdyblog 于 2015-10-3 20:21 编辑
小絔小小小 发表于 2015-10-3 16:53
提供一个盘符,在这个盘符所在的硬盘上获取激活分区的盘符。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
TEAM ENVI^ ENVIMODE=1| ENVI^ FORCELOCAL=1
IFEX X.LOG, LOGS **ln=1  X.LOG
//FIndActive  Drv DrvRetName [HdRetName  PtRetName]
_SUB FIndActive
    SET &drv=%~1
    ENVI-ret %~2=
    ENVI-ret %~3=
    ENVI-ret %~4=
    FIND $%drv%=, SET drv=%&CurDrv%
    PART list drv %Drv%,&&V
    MSTR &&hd=<9>%&V%
    FIND $%&hd%=, EXIT
    PART list part %&hd%,&&pts
    SET &hdx=
    SET &ptx=
    SET &drvx=
    FORX * %&pts%,&&p1,
    {*  PART -phy# list part  %&hd%:%&p1%,&&vi
        MSTR &&act,&&pt1,&&drv1=<3><8><9>%&vi%
        IFEX $%act%=1, TEAM SET ptx=%&pt1%| SET hdx=%&hd%| set drvx=%&drv1%| EXIT
    }
    ENVI-ret %~2=%&drvx%
    ENVI-ret %~3=%&hdx%
    ENVI-ret %~4=%&ptx%
_END

SET &drv1=D:
FIndActive   %&drv1%  &&drvact &&hdact &&ptact   
FIND $%&drvact%<>, MESS 磁盘%&drv1% 有活动分区  盘符:%&drvact%  磁盘号:%hdact% 物理分区号:%&ptact%
FIND $%&drvact%=,  MESS 磁盘%&drv1% 没有活动分区     


FindActive.WCS.zip (621 Bytes, 下载次数: 3)

点评

能否精简为只取活动分区即可,对着说明看了好久都不太能理解,希望大大能帮忙改改。  详情 回复 发表于 2015-10-3 23:58
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-17 15:47

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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