无忧启动论坛

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

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

    [复制链接]
15391#
 楼主| 发表于 2020-11-23 10:49:42 | 只看该作者
红毛樱木 发表于 2020-11-23 10:24
上面15404#讨论的这段代码,也正常了,恢复如初了吗?

THREAD* -here -wait
结合了 THREAD* -wait 的特性。 所以可以方便操作了。

点评

老大,提升一下版本号吧,二次开发可以避免小白用错版本  详情 回复 发表于 2020-11-23 10:54
好的。这样不用改以前的代码了。  详情 回复 发表于 2020-11-23 10:53
回复

使用道具 举报

15392#
发表于 2020-11-23 10:53:27 来自手机 | 只看该作者
mdyblog 发表于 2020-11-23 10:49
THREAD* -here -wait
结合了 THREAD* -wait 的特性。 所以可以方便操作了。

好的。这样不用改以前的代码了。

点评

除非改错。 总保持兼容之前的。  详情 回复 发表于 2020-11-23 10:59
回复

使用道具 举报

15393#
发表于 2020-11-23 10:54:10 | 只看该作者
mdyblog 发表于 2020-11-23 10:49
THREAD* -here -wait
结合了 THREAD* -wait 的特性。 所以可以方便操作了。

老大,提升一下版本号吧,二次开发可以避免小白用错版本

点评

好的。 等大家 测试下。  详情 回复 发表于 2020-11-23 10:55
回复

使用道具 举报

15394#
 楼主| 发表于 2020-11-23 10:55:26 | 只看该作者
527104427 发表于 2020-11-23 10:54
老大,提升一下版本号吧,二次开发可以避免小白用错版本

好的。 等大家 测试下。

点评

请教老大,有没有办法判断一个磁盘是否SSD呢?我一直想当然地用以下代码来判断,查找-devid返回中是否有“SSD”关键字: part -devid list disk 1,&a mess. %&a% 但这方法肯定不靠谱,最近就发现一块固态硬盘  详情 回复 发表于 2020-11-23 22:26
回复

使用道具 举报

15395#
 楼主| 发表于 2020-11-23 10:59:53 | 只看该作者
红毛樱木 发表于 2020-11-23 10:53
好的。这样不用改以前的代码了。

除非改错。 总保持兼容之前的。
回复

使用道具 举报

15396#
发表于 2020-11-23 19:41:26 来自手机 | 只看该作者

总线类型 BusTypeUnknown = 0   BusTypeScsi=1, BusTypeAtapi, BusTypeAta, BusType1394, BusTypeSsa, BusTypeFibre, BusTypeUsb, BusTypeRAID, BusTypeiScsi, BusTypeSas, BusTypeSata, BusTypeSd, BusTypeMmc, BusTypeVirtual,BusTypeFileBackedVirtual,BusTypeSpaces,BusTypeNvme,BusTypeSCM,BusTypeUfs,BusTypeMax,BusTypeMaxReserved

这个资料可以更新一下
回复

使用道具 举报

15397#
发表于 2020-11-23 22:09:58 | 只看该作者
本帖最后由 红毛樱木 于 2020-11-23 22:24 编辑
mdyblog 发表于 2020-11-22 21:04
PECMD2012.1.88.05.82Stable-180149测试202011E.7z

也支持  在文件级这样使用。 (不是普通函数中)
  1. _SUB TEST
  2.     ENVI &a=
  3.     THREAD* -WAIT ENVI &a=1
  4.     MESS. %&a%
  5. _END
  6. CALL TEST
复制代码


M大,普通函数不能这样传递是吧?
这样感觉还是很绕,容易掉坑里,能不能统一一下,在普通函数里也可以?
因为这种本身就是想开一个线程去执行代码的。
如果不是这种效果,还不如直接THREAD不带*了。

----------------------------------------------
如果有什么理解比较片面的地方,请M大指正一下。在THREAD说明里说清楚这几个注意事项
回复

使用道具 举报

15398#
发表于 2020-11-23 22:26:43 | 只看该作者
本帖最后由 527104427 于 2020-11-24 11:22 编辑
mdyblog 发表于 2020-11-23 10:55
好的。 等大家 测试下。


请教老大,有没有办法判断一个磁盘是否SSD呢?我一直想当然地用以下代码来判断,查找-devid返回中是否有“SSD”关键字:
part -devid list disk 1,&a
mess. %&a%

但这方法肯定不靠谱,最近就发现一块固态硬盘并没有“SSD”字样:








点评

目前大家公认的办法就是读SMART表判断有没有TRIM,但是还有不准的时候。如果要PECMD来搞,等于一个新领域了吧。。。代码量估计不小  详情 回复 发表于 2020-11-23 22:48
回复

使用道具 举报

15399#
发表于 2020-11-23 22:48:36 | 只看该作者
527104427 发表于 2020-11-23 22:26
请教老大,有没有办法判断一个磁盘是否SSD呢?我一直想当然地用以下代码来判断,查找-devid返回中是否 ...

目前大家公认的办法就是读SMART表判断有没有TRIM,但是还有不准的时候。如果要PECMD来搞,等于一个新领域了吧。。。代码量估计不小
回复

使用道具 举报

15400#
发表于 2020-11-24 09:11:01 | 只看该作者
与界面有关的_SUB函数,或者_SUB函数内调用的API可能和界面操作有关

这两种情况是不是都可以理解为_SUB函数要带“,*”有持久栈?
回复

使用道具 举报

15401#
发表于 2020-11-24 09:44:02 | 只看该作者
66666666666666666
回复

使用道具 举报

15402#
发表于 2020-11-24 20:04:04 | 只看该作者
这里有个DLL不能加载,是DLL特殊吗?测试环境Win7x64
M大有空看下
CALL $--ret:返回名 ,-LoadLibrary,加载DLL路径

DLL不能内存方式加载.7z (2.41 MB, 下载次数: 14)

点评

PECMD2012.1.88.05.84Stable-201130.7z 版 加强了 -loadlibrary, 也支持--cd 自动转到DLL所在目录。 ┃ │ │CALL $--ret:返回名 [--cd ][--nrcd ] ,-LoadLibrary,加载DLL路径 //加载DLL得到句柄 ┃  详情 回复 发表于 2020-11-30 09:31
这个DLL还依赖其他的DLL。 需要先转移到 该目录。效果: [attachimg]469484[/attachimg]  详情 回复 发表于 2020-11-30 08:20
回复

使用道具 举报

15403#
发表于 2020-11-26 09:45:53 | 只看该作者
66666666666666666666
回复

使用道具 举报

15404#
发表于 2020-11-27 16:20:57 来自手机 | 只看该作者
本帖最后由 my9823 于 2020-11-27 16:30 编辑

dir file_list /s e:\boot\pesoft
mess %file_list%
假如存在e:\pesoft\passwd\ntpwdedit.exe
mess显示的窗口中这行\n会被当做换行符断开显示,有什么办法不让它换行?
假如我想去除列表中的e:\,除了用
sed v=0:0,e:\\,%file_list%
什么时候加-ex参数,能使用^[Ee]:\\么,这个file_list是一行还是多行?

点评

sed -ex v=0:0,e:\\,file_list 默认就不区分大小写的吧  详情 回复 发表于 2020-11-27 18:17
mess. 后面加个.号  详情 回复 发表于 2020-11-27 18:16
回复

使用道具 举报

15405#
发表于 2020-11-27 18:16:04 来自手机 | 只看该作者
my9823 发表于 2020-11-27 16:20
dir file_list /s e:\boot\pesoft
mess %file_list%
假如存在e:\pesoft\passwd\ntpwdedit.exe

mess.
后面加个.号

点评

mess.%file_list%?吗?  详情 回复 发表于 2020-11-27 18:27
回复

使用道具 举报

15406#
发表于 2020-11-27 18:17:32 来自手机 | 只看该作者
my9823 发表于 2020-11-27 16:20
dir file_list /s e:\boot\pesoft
mess %file_list%
假如存在e:\pesoft\passwd\ntpwdedit.exe

sed -ex v=0:0,e:\\,file_list

默认就不区分大小写的吧
回复

使用道具 举报

15407#
发表于 2020-11-27 18:27:13 来自手机 | 只看该作者
红毛樱木 发表于 2020-11-27 18:16
mess.
后面加个.号

mess.%file_list%?吗?
回复

使用道具 举报

15408#
发表于 2020-11-27 22:33:54 | 只看该作者

回复

使用道具 举报

15409#
发表于 2020-11-27 23:01:00 | 只看该作者
  1. mess. %file_list%
复制代码
回复

使用道具 举报

15410#
发表于 2020-11-28 09:42:14 来自手机 | 只看该作者
使用正则表达式
sed vv=0,^.*?\\{.*},\1,%file_list%
只能替换文件列表第一行的盘符和斜杠,变量中的文件列表是一行吗?

点评

PECMD2012.1.88.05.84Stable-201129B.7z SED 加了个分行轮询处理功能, 开关-L sed -ex -L &vv=0,^.:\\{.*},\1,&file_list  详情 回复 发表于 2020-11-29 23:43
SET$ &NLA=0a sed -ex &vv=0,[^%&NLA%\\]*\\,,&file_list  详情 回复 发表于 2020-11-29 20:45
你要的是这种效果吧: dir &file_list /s %&CurDir% sed -ex &vv=0,[a-zA-Z]*\:\\,,&file_list mess. %&vv% [attachimg]469360[/attachimg] [attachimg]469361[/attachimg]  详情 回复 发表于 2020-11-28 12:50
这样试试呢?  详情 回复 发表于 2020-11-28 10:41
回复

使用道具 举报

15411#
发表于 2020-11-28 10:41:00 | 只看该作者
my9823 发表于 2020-11-28 09:42
使用正则表达式
sed vv=0,^.*?\\{.*},\1,%file_list%
只能替换文件列表第一行的盘符和斜杠,变量中的文件 ...
  1. sed -ex vv=0,^.*?\\{.*},\1,file_list
复制代码

这样试试呢?

点评

PECMD2012.1.88.05.84Stable-201129.7z\示例\SMART硬盘信息.wcs 测试通过, 512字节信息。  详情 回复 发表于 2020-11-29 20:35
回复

使用道具 举报

15412#
发表于 2020-11-28 12:50:05 | 只看该作者
my9823 发表于 2020-11-28 09:42
使用正则表达式
sed vv=0,^.*?\\{.*},\1,%file_list%
只能替换文件列表第一行的盘符和斜杠,变量中的文件 ...

你要的是这种效果吧:

dir &file_list /s %&CurDir%
sed -ex &vv=0,[a-zA-Z]*\:\\,,&file_list
mess. %&vv%












回复

使用道具 举报

15413#
发表于 2020-11-28 13:26:15 来自手机 | 只看该作者
是的,请问:需要转义吗?

点评

加上比较保险吧,反正我是这样想的,凡是符号都算转义  详情 回复 发表于 2020-11-28 14:59
回复

使用道具 举报

15414#
发表于 2020-11-28 14:59:09 | 只看该作者
my9823 发表于 2020-11-28 13:26
是的,请问:需要转义吗?

加上比较保险吧,反正我是这样想的,凡是符号都算转义
回复

使用道具 举报

15415#
发表于 2020-11-29 11:57:39 | 只看该作者
五大有道理,用过gnuwin的sed.exe貌似各种操作只限于英文,不过正则表达式比pecmd的sed命令要丰富,但pecmd的sed支持替换中文啊!
回复

使用道具 举报

15416#
 楼主| 发表于 2020-11-29 20:35:23 | 只看该作者

PECMD2012.1.88.05.84Stable-201129.7z\示例\SMART硬盘信息.wcs
测试通过, 512字节信息。

点评

请问能读取硬盘的型号序列号之类的信息吗?  详情 回复 发表于 2020-12-1 23:38
比如图中的信息: [attachimg]469505[/attachimg] [attachimg]469506[/attachimg]  详情 回复 发表于 2020-11-30 11:34
smart能否做成比较直观的数据啊,就是一般人都能直接看懂的  详情 回复 发表于 2020-11-30 10:25
SOCK --file [*] 名称;[we][-rwd];文件名 //打开一个自动释放的文件句柄,给API用,w可写,-重置共享 前面是[we]后面是w可写,w和e可以分开用吗?分别啥意思呢  详情 回复 发表于 2020-11-29 21:41
收到,有的玩了。  详情 回复 发表于 2020-11-29 21:36
回复

使用道具 举报

15417#
发表于 2020-11-29 21:36:00 | 只看该作者
mdyblog 发表于 2020-11-29 20:35
PECMD2012.1.88.05.84Stable-201129.7z\示例\SMART硬盘信息.wcs
测试通过, 512字节信息。

收到,有的玩了。
回复

使用道具 举报

15418#
发表于 2020-11-29 21:41:48 | 只看该作者
mdyblog 发表于 2020-11-29 20:35
PECMD2012.1.88.05.84Stable-201129.7z\示例\SMART硬盘信息.wcs
测试通过, 512字节信息。

SOCK --file
  • 名称;[we][-rwd];文件名  //打开一个自动释放的文件句柄,给API用,w可写,-重置共享


    前面是[we]后面是w可写,w和e可以分开用吗?分别啥意思呢
  • 点评

    WE 可写, 如果不存在,不创建,失败 (W&ExistOnly) W 可写, 如果不存在,创建  详情 回复 发表于 2020-11-29 22:11
    回复

    使用道具 举报

    15419#
     楼主| 发表于 2020-11-29 22:11:17 | 只看该作者
    本帖最后由 mdyblog 于 2020-11-29 22:15 编辑
    红毛樱木 发表于 2020-11-29 21:41
    SOCK --file 名称;[we][-rwd];文件名  //打开一个自动释放的文件句柄,给API用,w可写,-重置共享

    WE  可写, 如果不存在,不创建,失败 (W&ExistOnly)
    W   可写, 如果不存在,创建
    调用 CreateFileW的参数不同。


    这行也可以:
    CALL $--sret:&&hDevice --qd --bool Kernel32.dll,CreateFileW,$\\.\PhysicalDrive%&ucDriveIndex%,#0xC0000000,#7,#0,#3,#0,#0

    另一行也可以:
    CALL $--ret:&bRet --qd --bool Kernel32.dll,DeviceIoControl,#%&hDevice%,#%&SMART_RCV_DRIVE_DATA%,#%&pstCIP%,#%&sizeof_SENDCMDINPARAMS%,*&sAttributes,#%&sizeof_attr%,*&dwRet,#0


    点评

    ExistOnly 是 #define OPEN_EXISTING 3 吗?  详情 回复 发表于 2020-11-29 22:35
    回复

    使用道具 举报

    15420#
    发表于 2020-11-29 22:35:06 | 只看该作者
    mdyblog 发表于 2020-11-29 22:11
    WE  可写, 如果不存在,不创建,失败 (W&ExistOnly)
    W   可写, 如果不存在,创建
    调用 CreateFileW的 ...

    ExistOnly

    #define OPEN_EXISTING       3
    吗?

    点评

    对。  详情 回复 发表于 2020-11-29 22:40
    回复

    使用道具 举报

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

    本版积分规则

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

    闽公网安备 35020302032614号

    GMT+8, 2026-1-21 15:33

    Powered by Discuz! X3.3

    © 2001-2017 Comsenz Inc.

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