无忧启动论坛

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

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

    [复制链接]
15601#
发表于 2021-1-25 11:39:36 | 只看该作者
mdyblog 发表于 2021-1-25 07:07
WIn7-WOW  新版 已解决。

测试已OK

点评

5大又回归了啊! 请教一下,怎么判断某目录不存在? 比如c:\abc不存在则建立这个目录。 FORX能实现吗?  详情 回复 发表于 2021-1-26 10:41
回复

使用道具 举报

15602#
发表于 2021-1-26 10:41:29 | 只看该作者

5大又回归了啊!
请教一下,怎么判断某目录不存在?
比如c:\abc不存在则建立这个目录。
FORX能实现吗?


点评

嗯,找到命令了,原来是IFEX IFEX %desktop%\abc\,!MDIR %desktop%\abc  详情 回复 发表于 2021-1-26 11:56
试试: IFEX C:\abc,! MDIR C:\abc  详情 回复 发表于 2021-1-26 11:56
回复

使用道具 举报

15603#
发表于 2021-1-26 10:43:04 | 只看该作者
@mdyblog
M大也看一下楼上的问题。谢谢
回复

使用道具 举报

15604#
发表于 2021-1-26 11:56:26 | 只看该作者
lafter 发表于 2021-1-26 10:41
5大又回归了啊!
请教一下,怎么判断某目录不存在?
比如c:\abc不存在则建立这个目录。

试试:

IFEX C:\abc\,! MDIR C:\abc

点评

感谢! 没注意到5大回帖了。指定盘符可以使用。 但是有人为安装office之类软件,把%TEMP%改到了x:%user\default\appdata\local\temp,好像是这个地方吧。 尝试 IFEX %TEMP%\,! MDIR %TEMP%就无效,实际上变量已经  详情 回复 发表于 2021-1-26 16:15
回复

使用道具 举报

15605#
发表于 2021-1-26 11:56:45 | 只看该作者
本帖最后由 lafter 于 2021-1-26 12:28 编辑
lafter 发表于 2021-1-26 10:41
5大又回归了啊!
请教一下,怎么判断某目录不存在?
比如c:\abc不存在则建立这个目录。

嗯,找到命令了,原来是IFEX
IFEX %desktop%\abc\,!MDIR %desktop%\abc
有的时候上面这句不行。最后发现这是脱裤子放屁,多此一举,直接建目录就行了。存在的话不会再建立并且不提示。
回复

使用道具 举报

15606#
发表于 2021-1-26 16:15:15 | 只看该作者
527104427 发表于 2021-1-26 11:56
试试:

IFEX C:\abc\,! MDIR C:\abc

感谢!
没注意到5大回帖了。指定盘符可以使用。
但是有人为安装office之类软件,把%TEMP%改到了x:\user\default\appdata\local\temp,好像是这个地方吧。
尝试 IFEX %TEMP%\,! MDIR %TEMP%就无效,实际上变量已经生效存在的,但目录没有建立。
直接MDIR %TEMP%倒是成功了。
我用IFEX的命令哪儿不对吗?

点评

对,就你红毛说的调试一下: IFEX %TEMP%\, mess. %TEMP%! MDIR %TEMP%  详情 回复 发表于 2021-1-26 19:27
回复

使用道具 举报

15607#
发表于 2021-1-26 18:39:35 来自手机 | 只看该作者
mess弹窗一下看看变量是不是真生效
回复

使用道具 举报

15608#
发表于 2021-1-26 19:26:59 | 只看该作者
mdyblog 发表于 2021-1-25 07:07
WIn7-WOW  新版 已解决。

不知道WIN7支持这个功能不:
MOUN-vhd  -query  "D:\aa     b    c空 - 副本.VHD",&&A,&&B
MESS. [%&A%][%&B%]


试了一下,貌似不可以


点评

前8 字节的前 4字节是命令, 先填好, 指示返回什么信息, 8B开始是信息。 //由于对齐, 中间4字节(4-7)没有用 参见 https://docs.microsoft.com/zh-cn/windows/win32/api/virtdisk/ns-virtdisk-get_virtual_dis  详情 回复 发表于 2021-1-26 21:27
回复

使用道具 举报

15609#
发表于 2021-1-26 19:27:53 | 只看该作者
lafter 发表于 2021-1-26 16:15
感谢!
没注意到5大回帖了。指定盘符可以使用。
但是有人为安装office之类软件,把%TEMP%改到了x:%user ...

对,就像红毛说的调试一下:
IFEX %TEMP%\, mess. %TEMP%! MDIR %TEMP%

点评

可以的,再次测试没有问题。 不加弹窗,IFEX %TEMP%\, ! MDIR %TEMP%就可以,原先不行是手误打错命令,把MDIR搞成MDRI了。。。汗😓 感谢5大、红毛老大两位回复解答问题。  详情 回复 发表于 2021-1-27 10:44
回复

使用道具 举报

15610#
发表于 2021-1-26 19:37:02 | 只看该作者
谢谢分享
回复

使用道具 举报

15611#
 楼主| 发表于 2021-1-26 21:27:25 | 只看该作者
本帖最后由 mdyblog 于 2021-1-26 23:49 编辑
527104427 发表于 2021-1-26 19:26
不知道WIN7支持这个功能不:
MOUN-vhd  -query  "D:\aa     b    c空 - 副本.VHD",&&A,&&B
MESS. [%&A% ...

前8 字节的前 4字节是命令, 先填好, 指示返回什么信息, 8B开始是信息。
//由于对齐, 中间4字节(4-7)没有用
参见 https://docs.microsoft.com/zh-cn/windows/win32/api/virtdisk/ns-virtdisk-get_virtual_disk_info?redirectedfrom=MSDN
新版 命令 可以参数 传入
VHD_Query.wcs
{  //VHD长度
SET#%  &V=*8192
//SET-int64 V=1:0
SET-int64 V=0:8
MOUN -vhd -query -r  "Q:\VHDTEST\BASE_S1_S1.vhd",&V,&bytes,1
SET?int64 V=&szv:8
SET?int64 V=&szp:16IFEX #%&bytes%>=24,  MESS. bytes[%&bytes%] szv[%&szv%] szp[%&szp%]
EXIT
}



{    //差分VHD 的 父亲
SET#%  &V=*8192
//SET-int64 V=3:0
SET-int64 V=0:8
MOUN -vhd -query -r  Q:\VHDTEST\BASE_S1_S1.vhd,&V,&bytes,3
SET?long V=&&ParentResolved:8
ENVI-mkfixdummy   &&nm=&V@12;~
IFEX #%&bytes%>=16,  MESS. [%bytes%] [%ParentResolved%] [%&nm%]
EXIT
}


{ // 类型
SET#%  &V=*8192
//SET-int64 V=6:0  //GET_VIRTUAL_DISK_INFO_VIRTUAL_STORAGE_TYPE
SET-int64 V=0:8
MOUN -vhd -query -r  Q:\VHDTEST\BASE_S1_S1.vhd,&V,&&bytes,6
ENVI?long &V=&&tp:8   //2=VIRTUAL_STORAGE_TYPE_DEVICE_VHD  3=VIRTUAL_STORAGE_TYPE_DEVICE_VHDX
IFEX #%&bytes%>=12, MESS. bytes[%&bytes%] type[%&tp%]
}


{ //子类型
SET#%  &V=*8192
//SET-int64 V=7:0  //GET_VIRTUAL_DISK_INFO_PROVIDER_SUBTYPE
SET-int64 V=0:8
MOUN -vhd -query -r Q:\VHDTEST\BASE_S1_S1.vhd,&V,&bytes,7
ENVI?long &V=&&subtp:8   //2=Fixed.  3=Dynamically  4=Differencing
IFEX #%&bytes%>=12, MESS. bytes[%&bytes%] subtype[%&subtp%]
}










回复

使用道具 举报

15612#
发表于 2021-1-27 09:11:10 | 只看该作者
mdyblog 发表于 2021-1-26 21:27
前8 字节的前 4字节是命令, 先填好, 指示返回什么信息, 8B开始是信息。
//由于对齐, 中间4字节(4-7 ...

这么复杂!
回复

使用道具 举报

15613#
发表于 2021-1-27 10:44:39 | 只看该作者
527104427 发表于 2021-1-26 19:27
对,就像红毛说的调试一下:
IFEX %TEMP%\, mess. %TEMP%! MDIR %TEMP%

可以的,再次测试没有问题。
不加弹窗,IFEX %TEMP%\, ! MDIR %TEMP%就可以,原先不行是手误打错命令,把MDIR搞成MDRI了。。。汗😓
感谢5大、红毛老大两位回复解答问题。
回复

使用道具 举报

15614#
发表于 2021-1-27 12:16:05 | 只看该作者
mdyblog 发表于 2021-1-26 21:27
前8 字节的前 4字节是命令, 先填好, 指示返回什么信息, 8B开始是信息。
//由于对齐, 中间4字节(4-7 ...

这里是不是有个换行符丢了?





回复

使用道具 举报

15615#
 楼主| 发表于 2021-1-27 13:27:42 | 只看该作者
527104427 发表于 2021-1-27 12:16
这里是不是有个换行符丢了?

回复

使用道具 举报

15616#
发表于 2021-1-28 15:55:07 | 只看该作者
本帖最后由 dos时代菜鸟 于 2021-1-28 16:18 编辑

用最新 测试版 210126  ,列表有问题
dll 版 下拉列表框 有显示问题。





不能获取 单选列表 鼠标所选, 210112B 没问题。
Script_x.7z (18.87 KB, 下载次数: 10)
回复

使用道具 举报

15617#
发表于 2021-1-28 18:17:43 | 只看该作者
dos时代菜鸟 发表于 2021-1-28 15:55
用最新 测试版 210126  ,列表有问题
dll 版 下拉列表框 有显示问题。
出问题的应该是这两行代码冲突了,你排查下吧。我把这两行屏蔽了就没问题了。
  1. ENVI @parts.MSG=0x0201: team call fresh_buts parts

  2. ENVI @parts.MSG=0x1000: Team Envi @parts.Sel=?nX|envi @parts.sel=%nX%;0|Find $%chk_type%=part,Envi @parts.sel=%part_n%;1
复制代码

--------------------------------------------------
另外你这里好像表的属性值有问题
  1. tabl  disks, L11 T30 W575 H128,%disk_title%,,0x90800     // -color:###%color_sele% 不知为何此色彩设置会在鼠标抬起时才生效,所以放弃了。
复制代码
0x10000只能选择(加亮)一行
0x80000禁用行选择
这两个是不是有冲突? 我乱猜的
回复

使用道具 举报

15618#
 楼主| 发表于 2021-1-28 19:52:47 | 只看该作者
红毛樱木 发表于 2021-1-28 18:17
出问题的应该是这两行代码冲突了,你排查下吧。我把这两行屏蔽了就没问题了。

------------------------ ...

演示 代码简单点吧。 能说明问题即可。
太长 , 没发看。
回复

使用道具 举报

15619#
发表于 2021-1-28 20:47:01 | 只看该作者
红毛樱木 发表于 2021-1-28 18:17
出问题的应该是这两行代码冲突了,你排查下吧。我把这两行屏蔽了就没问题了。

------------------------ ...

这个代码 是成型的,用以前的 版本 都没问题呀。
我再研究下。
回复

使用道具 举报

15620#
发表于 2021-1-28 20:52:53 | 只看该作者
本帖最后由 dos时代菜鸟 于 2021-1-28 21:29 编辑
红毛樱木 发表于 2021-1-28 18:17
出问题的应该是这两行代码冲突了,你排查下吧。我把这两行屏蔽了就没问题了。

------------------------ ...

第一段代码,是针对 pecmd 的表格控件 ,以前有问题,鼠标离开后 再 悬停 会乱选,所以,加了个 鼠标捕捉。
刚测试了一下,如果屏蔽此行,确实 问题消失了。看来新版 测试版,已经考虑了 这个问题,自行处理了,不用改再用这行来补救了。否则可能产生了冲突。


第二段,如果设置 行选择,就会选择多行的吧。
回复

使用道具 举报

15621#
发表于 2021-1-28 21:56:13 | 只看该作者
本帖最后由 dos时代菜鸟 于 2021-1-28 21:59 编辑

关于 dll 版 list 控件失效问题:
如图 左侧 是 dll 版 的效果,list 控件不能下拉,
右侧为 exe 版的效果,可以下拉。

测试环境 win10


DLL版.x86.7z (1.37 MB, 下载次数: 6)

回复

使用道具 举报

15622#
发表于 2021-1-29 07:50:02 | 只看该作者
本帖最后由 527104427 于 2021-1-29 18:02 编辑
dos时代菜鸟 发表于 2021-1-28 21:56
关于 dll 版 list 控件失效问题:
如图 左侧 是 dll 版 的效果,list 控件不能下拉,
右侧为 exe 版的效 ...

这应该是正常的吧,64位系统要指定-h,还要限定下拉高度:

call @win_x
_Sub win_x,W200 h100,测试,exit,shell32.dll#187,0,,-top
        list -h list_test, L5 T5 W50 H200,1|2|3|4|5|6|7,,3
_End



说明书上有的,本帖一楼也有说明。反正list一律加-h,不管什么系统,这就避免问题。





回复

使用道具 举报

15623#
发表于 2021-1-29 12:27:27 | 只看该作者
527104427 发表于 2021-1-29 07:50
这应该是正常的吧,64位系统要指定-h,还要限定下拉高度:

call @win_x

加 -h 也不行,这是  dll 版 的通病。
回复

使用道具 举报

15624#
发表于 2021-1-29 18:15:56 | 只看该作者
感谢楼主发布!
回复

使用道具 举报

15625#
发表于 2021-1-30 13:44:07 | 只看该作者
M大,使用PECMD怎么计算两次%curdate%的时间差?
回复

使用道具 举报

15626#
 楼主| 发表于 2021-1-30 14:08:37 | 只看该作者
lafter 发表于 2021-1-30 13:44
M大,使用PECMD怎么计算两次%curdate%的时间差?

// 单位为 ms
DATE  SysDate1ms  uptime
WAIT 100
DATE  SysDate2ms  uptime

CALC #ms1=%SysDate2ms% - %SysDate1ms%
//MESS. %ms1%


//下面计时更准
// 单位为 0.1us  0.0001ms
DATE  SysDate1utc  utc
WAIT 100
DATE  SysDate2utc  utc

CALC #utc=%SysDate2utc% - %SysDate1utc%
CALC us=%utc% / 10#1
CALC ms=%utc% / 10000#4
MESS  %ms1%\n %utc%utc   %us%us  %ms%ms


评分

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

查看全部评分

回复

使用道具 举报

15627#
发表于 2021-1-30 14:55:06 | 只看该作者
mdyblog 发表于 2021-1-30 14:08
// 单位为 ms
DATE  SysDate1ms  uptime
WAIT 100

嗯,好用。
还有个关于日期的,默认DATE 输出如:2021-1-30|6|14:28:38.532
如果单独取日期、周几、时间用什么参数?
回复

使用道具 举报

15628#
 楼主| 发表于 2021-1-30 14:56:08 | 只看该作者
lafter 发表于 2021-1-30 14:55
嗯,好用。
还有个关于日期的,默认DATE 输出如:2021-1-30|6|14:28:38.532
如果单独取日期、周几、时 ...

PECMD  HELP DATE

■子项:   y Mon d w h min s ms ws[1] ds Freq Counter 分别指 年 月 日 星期 时 分 秒 毫秒 周数┃
┃    │    │  年内第几天 计数频率 计数器。也可直接用中文年 月 日 星期 时 分 秒 毫秒 周[1] 天。不指定子项┃
┃    │    │  则为全部。子项gmt为GMT秒数(1970.1.1计时),uptime为开机毫秒数,utc为UTC时间,以100纳秒为 ┃
┃    │    │  单位,从1601.1.1计时。uptimens为开机纳秒数。Counter为高精定时器计数。可以多个子项。      

评分

参与人数 1无忧币 +5 收起 理由
lafter + 5

查看全部评分

回复

使用道具 举报

15629#
发表于 2021-1-30 15:35:54 | 只看该作者
mdyblog 发表于 2021-1-30 14:56
PECMD  HELP DATE

■子项:   y Mon d w h min s ms ws[1] ds Freq Counter 分别指 年 月 日 星期 时  ...



感谢M大。这个怎么让它出15:06:21类似这样的效果。调用cmd的time?

另外请教一下,关于退出子过程(比如名为 AAA)命令是单独的 EXIT _SUB还是加上名字:EXIT _SUB AAA。假如当前配置文件为b.ini,执行到一半条件判断需要退出是:EXIT FILE    /   EXIT    /   EXIT b.ini           这三种格式哪个对?
EXIT 命令能出现在TEAM组合命令中吗?

回复

使用道具 举报

15630#
发表于 2021-1-30 16:54:33 | 只看该作者

M大,网盘里1.88版怎么没了呢?
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-7-19 13:57

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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