无忧启动论坛

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

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

    [复制链接]
391#
发表于 2015-9-24 18:50:01 | 显示全部楼层
2012qnmd 发表于 2015-9-24 18:10
抓图功能已经很好啦! 主要是X64下,没有太好的软件. PECMD这两个+图画,一般就够了.

WinSnap比较专业了,有了画图工具全屏截图意义不大。
可把这个功能定义成快捷键可能方便点。

点评

快捷键,不好。 平板电脑,没键盘。 wcs,放桌面,快速启动。pecnd的两种截图方式,ok 我一般都是截图键+图画。然后jpg 这个可以直接jpg或者png  详情 回复 发表于 2015-9-24 20:27
PECMD.INI 中 HOTK。 主要是骨头PE中应急。 对系统的要求几乎为0. 其它强强, 不是都能运行,还不一定有64位的。  详情 回复 发表于 2015-9-24 20:14
回复

使用道具 举报

392#
发表于 2015-9-24 19:18:08 | 显示全部楼层
新版本帮助看不见了
回复

使用道具 举报

393#
发表于 2015-9-24 19:30:07 | 显示全部楼层
本帖最后由 hhh333 于 2015-9-24 20:02 编辑
2012qnmd 发表于 2015-9-24 18:20
SCRN  -cap  fulllscreen.jpg,0

再怎么写,可以自动编号文件名?


可以考虑文件名中加一个?号或*号来表示按顺序编号
SCRN  -cap  fulllscreen?.jpg,0

***也不必专门处理,加一个日期时间变量作文件名就可以了(也不行,有非法字符)

点评

可以的。  详情 回复 发表于 2015-9-24 20:12
回复

使用道具 举报

394#
发表于 2015-9-24 20:30:49 | 显示全部楼层
新稳定版在win864中tips到了左上角
回复

使用道具 举报

395#
发表于 2015-9-24 20:44:54 | 显示全部楼层
本帖最后由 hhh333 于 2015-9-24 20:46 编辑
2012qnmd 发表于 2015-9-24 20:27
快捷键,不好。
平板电脑,没键盘。
wcs,放桌面,快速启动。pecnd的两种截图方式,ok


如果用平板来截图,那纯64位用winsnap可以做到。
目前这个脚本做不到,必须做出俘获按钮,点俘获时最小化到通知区,否则截图总是包括它自身。截图工具要求都有隐藏自身之功能。
回复

使用道具 举报

396#
发表于 2015-9-24 20:54:40 | 显示全部楼层
  1. HOTK Ctrl+#42,PECMD.EXE SCRN -cap %Desktop%\CAPFULLSCR.JPG,0
复制代码

好像没有成功
回复

使用道具 举报

397#
发表于 2015-9-25 03:35:38 | 显示全部楼层
试了一下,tips似乎无问题了,但截图还要改进:
1、加?加*自动编号功能还没实现;
2、内置脚本截图默认位置应该为桌面而不要到system32中去找;觉得这个脚本不必内置,以方便外置修改,很精炼的、难修改的、必须的一些功能才内置。
回复

使用道具 举报

398#
发表于 2015-9-25 10:16:46 | 显示全部楼层
将抓图的脚本改成了这个样子:
  1. ENVI^  ForceLocal=1
  2. LOGS * X.LOG
  3. SET &capd=%DeskTop%
  4. SET &fn=屏幕捕获
  5. SET &wid=0
  6. set &ext=PNG
  7. CALL @WIN1

  8. _SUB WIN1,W449H220,截图,
  9.     LABE LABE1,L10T42W60H20,延时(秒):,,
  10.     EDIT Delay,L72T40W40H20,0,,
  11.     SPIN SPIN1,L114T39W18H22,:1:99,,0x80,0x80
  12.     LABE LABE2,L170T42W40H20,对象:,,
  13.     EDIT wWid,L212T40W30H20,%wid%,,
  14.     LABE LABE3,L280T42W60H20,保存类型:,,
  15.     LIST lEXT,L342T40W60H20,PNG|BMP|JPG|GIF|TIFF,ENVI @wFN=%&capd%\%fn%.%lEXT%,%ext%
  16.     LABE -VCENTER LABE4,L10T90W90H30,保存位置及文件,,
  17.     EDIT -VCENTER -3D wFN,L105T90W300H30,%&capd%\%fn%.%ext%,NAME fn=%wFN%,
  18.     ITEM ITEM2,L410T89W21H30,>>,OnBrow,
  19.     ITEM ITEM1,L191T141W60H30,抓图, OnDo,
  20. _END

  21. _SUB OnBrow
  22.     BROW &&capdir,*%capd%,选择一个文件夹
  23.     FIND $%capdir%=, EXIT
  24.     TEAM ENVI &capd=%capdir%|ENVI @wFN=%&capd%\%fn%.%ext%
  25. _END

  26. _SUB OnDo
  27.     SET &wid=%wWid%
  28.     SET &afn=%wFN%
  29.     FIND $%afn%=, EXIT
  30.     ENVI @this.visable=0
  31.     CALC &&ms=%Delay%
  32.     CALC &ms=%&ms% * 1000#0
  33.     IFEX $%ms%<0, SET ms=0
  34.     CALC #&ms=%&ms% + 10
  35.     WAIT %&ms%
  36.     SCRN -cap %afn%,%wid%
  37.     WAIT 10
  38.     ENVI @this.visable=1
  39. _END
复制代码


只选择保存位置,文件名自己输入、默认桌面、类型自选
回复

使用道具 举报

399#
发表于 2015-9-25 10:31:48 | 显示全部楼层
位置调整一下:

  1. ENVI^  ForceLocal=1
  2. LOGS * X.LOG
  3. SET &capd=%DeskTop%
  4. SET &fn=屏幕捕获
  5. SET &wid=0
  6. set &ext=PNG
  7. CALL @WIN1

  8. _SUB WIN1,W449H220,截图,
  9.     LABE LABE1,L10T42W60H20,延时(秒):,,
  10.     EDIT Delay,L72T40W40H20,0,,
  11.     SPIN SPIN1,L114T39W18H22,:1:99,,0x80,0x80
  12.     LABE LABE2,L160T42W60H20,捕捉对象:,,
  13.     EDIT wWid,L222T40W80H20,%wid%,,
  14.     LABE LABE3,L310T42W60H20,保存类型:,,
  15.     LIST lEXT,L372T40W50H20,PNG|BMP|JPG|GIF|TIFF,ENVI @wFN=%&capd%\%fn%.%lEXT%,%ext%
  16.     LABE -VCENTER LABE4,L10T90W90H30,保存位置及文件,,
  17.     EDIT -VCENTER -3D wFN,L105T90W300H30,%&capd%\%fn%.%ext%,NAME fn=%wFN%,
  18.     ITEM ITEM2,L410T89W21H30,>>,OnBrow,
  19.     ITEM ITEM1,L191T141W60H30,抓图, OnDo,
  20. _END

  21. _SUB OnBrow
  22.     BROW &&capdir,*%capd%,选择一个文件夹
  23.     FIND $%capdir%=, EXIT
  24.     TEAM ENVI &capd=%capdir%|ENVI @wFN=%&capd%\%fn%.%ext%
  25. _END

  26. _SUB OnDo
  27.     SET &wid=%wWid%
  28.     SET &afn=%wFN%
  29.     FIND $%afn%=, EXIT
  30.     ENVI @this.visable=0
  31.     CALC &&ms=%Delay%
  32.     CALC &ms=%&ms% * 1000#0
  33.     IFEX $%ms%<0, SET ms=0
  34.     CALC #&ms=%&ms% + 10
  35.     WAIT %&ms%
  36.     SCRN -cap %afn%,%wid%
  37.     WAIT 10
  38.     ENVI @this.visable=1
  39. _END
复制代码
回复

使用道具 举报

400#
发表于 2015-9-29 10:13:29 | 显示全部楼层
本帖最后由 hhh333 于 2015-9-29 10:16 编辑

老大,能不能把setwow64的功能整合到INIT命令中?变成一个隐含的一个功能,即发现没有那个对象路径就进行填充
回复

使用道具 举报

401#
发表于 2015-9-29 10:36:54 | 显示全部楼层
2012qnmd 发表于 2015-9-29 10:17
这个有必要吗? 只是10,X64需要.
而且,可以随时启动这个文件,完了就相当于一个进程

如果是一个进程的话就有必要,将这个进程变成PECMD的一个功能,就可以减少一个进程。
回复

使用道具 举报

402#
发表于 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的值
回复

使用道具 举报

403#
发表于 2015-10-2 22:26:55 | 显示全部楼层
mdyblog 发表于 2015-10-2 20:55
PCIP 强化了
1)能返回实际数值。
2)加了个字段,是否是DHCP


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

使用道具 举报

404#
发表于 2015-10-2 23:33:59 | 显示全部楼层
mdyblog 发表于 2015-10-2 22:53
?* 返回的 就是 实际地址=用户设定的固定地址 或  DHCP获得地址。
试试就知道了。

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

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

使用道具 举报

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

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

使用道具 举报

406#
发表于 2015-10-6 10:19:12 | 显示全部楼层
本帖最后由 hhh333 于 2015-10-6 10:22 编辑

用10月3日的和最新5号的,得到的结果不一样,老的更正确一点,0号网卡是本地连接,而5号的变成了虚拟机的网卡。


新的网卡号改成2与老的0是一样的,怎么一个是0号一个是2号,搞不懂了。

点评

新版用的技术不同。 1) 新版差不多和 网上邻居看的一致 2) 新版可以直接操作已经禁用网卡(旧版,也可以,但不是直接,而费了好大的劲绕了好大一圈) 新版 估计和PECMD4.0兼容。 总之, 新版列出的 网卡  详情 回复 发表于 2015-10-6 10:39
回复

使用道具 举报

407#
发表于 2015-10-6 10:56:45 | 显示全部楼层
mdyblog 发表于 2015-10-6 10:39
1:
新版(5号)用的技术不同。
1) 新版差不多和 网上邻居看的一致

我的是这个样子,老的更靠谱一点:

回复

使用道具 举报

408#
发表于 2015-10-6 11:04:17 | 显示全部楼层
本帖最后由 hhh333 于 2015-10-6 11:07 编辑

看来新的是对的:


那个虚拟的网卡确实排在前面,但老的好像更符合我的需要。

点评

调试了下,那个也是 以太网卡(类型6)。 不好区分哦。 好些只有按网卡名(Desc)排除, VMWARE的剔除掉。  详情 回复 发表于 2015-10-6 11:12
回复

使用道具 举报

409#
发表于 2015-10-6 12:03:40 | 显示全部楼层
mdyblog 发表于 2015-10-6 11:12
1:
调试了下,那个也是 以太网卡(类型6)。 不好区分哦。
好些只有按网卡名(Desc)排除, VMWARE ...

有枚举网络连接(即网上邻居或网络连接中看到的)的命令吗?

点评

SET &I=0 LOOP #1=1, { PCIP ? IP,MASK,GW,DNS,%&I%?NAME,MAC,LINK,DHCP,bDHCP,ST,MD,DESC,TP2 FIND $%MD%=, EXIT //bDHCP ST 媒体类型MD DESC 为空,均可作为判断 MESS %&I%: TP[%TP2%] %IP% %  详情 回复 发表于 2015-10-6 12:11
回复

使用道具 举报

410#
发表于 2015-10-6 17:31:34 | 显示全部楼层
SERV这个命令也需要强化,就是这个命令根本不等待,它还了愿就下一条,管它启动是不是成功,所以有时没有办法要换成 exec =!net start xxxx

也即最好有等待开关,最好有返回码。

点评

新版启动服务加了个等待开关-wait  详情 回复 发表于 2015-10-6 22:58
回复

使用道具 举报

411#
发表于 2015-10-10 06:35:33 | 显示全部楼层
老大,我想将一个执行结果贮存到一个变量中,并按行读取,是用一个循环用LPOS检查回车换行符,再不断截取还是怎么的?那不是要数组来存贮?

另外我又看到LPOS**[*][#$] [-qu] [-delims:分割符] [-case] 变量名=子字符串,数值,字符串
这个-delims又如何用,没看到示例代码。
回复

使用道具 举报

412#
发表于 2015-10-10 09:50:35 | 显示全部楼层
本帖最后由 hhh333 于 2015-10-10 10:00 编辑

我看那个将CMD变脚本的文本,转换后出现REGI  $HKCR\CLSID\{000209FE-0000-0000-C000-000000000046}\\=Microsoft Word Basic
变成一个\是不是好理解一些:HKCR\CLSID\{000209FE-0000-0000-C000-000000000046}\  表示其下的默认值。

这个
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\Folders" /f /v "%CD%\\BORDERS\\" /t REG_SZ /d ""
改成脚本怎么写
回复

使用道具 举报

413#
发表于 2015-10-10 10:09:15 | 显示全部楼层
hhh333 发表于 2015-10-10 09:50
我看那个将CMD变脚本的文本,转换后出现REGI  $HKCR\CLSID\{000209FE-0000-0000-C000-000000000046}\\=Micr ...

刚才试了一下后面一句用这个可以了:
REGI  $HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\Folders\\%CurDir%\BORDERS\=
说明两个\\是重要的,第一个\代表是子项下,第二个是引导的是值,如果后面直接接=号代表是默认值。这样就理解了。
回复

使用道具 举报

414#
发表于 2015-11-12 07:35:50 | 显示全部楼层
本帖最后由 hhh333 于 2015-11-12 07:39 编辑

看到历史说明有:彻底可以不要初始窗口环境。
什么意思?

另外想问一下:
1、wlan比penetwork先进吗?或者比之更方便?
2、所谓的超级精确制导在稳定版中有吗?我比较关心这个语句在稳定版中能不能运行:
MOUN -udm -findboot -CurDrvR -mall -mhide -u+ -udfs -nbrd -udimg:H3PE/OP.IMG -udimg:udext.img -Checkfile:H3PE/WINPE.INI -Checkfile:BOOT/H3_3PEIN.WIM -ret:&&v \\.\PhysicalDrive* B-
回复

使用道具 举报

415#
发表于 2016-10-25 20:26:32 | 显示全部楼层
红毛樱木 发表于 2016-9-7 01:08
上面的DEVI命令无效。
举例,
我把驱动解压出来放在"C:\DRV"下

确实,测试结果也是如此,用forx来查找再安装,主要是是否安装成功没有返回参数,觉得m大可以给这个命令设定一个返回值,不知可行不?
回复

使用道具 举报

416#
发表于 2016-10-26 09:09:27 | 显示全部楼层
红毛樱木 发表于 2016-10-25 20:57
用FORX查找再安装,会一个个的INF安装吧。。。
会不会造成每执行一次DEVI命令都要搜索一遍硬件ID呢?这 ...

经查实%error%变量确实可用,安装成功则返回0
回复

使用道具 举报

417#
发表于 2016-10-26 09:35:50 | 显示全部楼层
目前需要安装的主要是网卡与显卡,下述代码可以扫描安装目录下的inf驱动,暂定搜索深度2层子目录

  1. _SUB LanID        `检测有线是否安装成功
  2. ENVI LanID=
  3. REGI $HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0000\NetCfgInstanceId,LanID
  4. _END

  5. _SUB WlanID        `检测无线是否安装成功
  6. ENVI WlanID=
  7. REGI $HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0000\NetType,WlanID
  8. FIND $%WlanID%="WLAN",!REGI $HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0001\NetType,WlanID
  9. FIND $%WlanID%="WLAN",!REGI $HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0002\NetType,WlanID
  10. FIND $%WlanID%="WLAN",!ENVI WlanID=
  11. _END

  12. _SUB DispID        `检测显卡是否安装成功
  13. ENVI DispID=
  14. REGI $HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000\UserModeDriverGUID,DispID
  15. _END

  16. _SUB InsSubInfDisp        `显卡类安装
  17. FORX /S:2 %1\*.inf,inf,0,
  18. {
  19.         DEVI %inf%,Display
  20.         CALL DispID
  21.         FIND $%DispID%=,!EXIT FORX
  22.         `FIND $%ERROR%=0,EXIT FORX
  23. }
  24. _END

  25. _SUB InsSubInfNet        `网卡类安装
  26. FORX /S:2 %1\*.inf,inf,0,
  27. {
  28.         DEVI %inf%,Net
  29.         IFEX $%2>0,
  30.         {
  31.                 CALL WlanID
  32.                 FIND $%WlanID%=,!EXIT FORX
  33.         }!
  34.         {
  35.                 CALL LanID
  36.                 FIND $%LanID%=,!EXIT FORX
  37.         }       
  38. }
  39. _END

  40. CALL InsSubInfDisp        显卡存放路径
  41. CALL InsSubInfNet        有线网卡存放路径
  42. CALL InsSubInfNet        无线网卡存放路径 2

复制代码
回复

使用道具 举报

418#
发表于 2016-10-26 17:51:56 | 显示全部楼层
本帖最后由 hhh333 于 2016-10-26 17:55 编辑
红毛樱木 发表于 2016-10-26 11:14
如果是双有线网卡,或者双显卡的情况,这个不知道准不准了。


这种情况就要进一步处理了,目前代码暂时未考虑双显双网。总之这个方法较笨,限制较多,M大有必要强化DEVI的功能。
你以前发布的显卡CAB驱动,由于文件较大,用CAB安装比较费时,但解开后用这个代码安装要快很多,可见一旦CAB包较大速度明显变慢
回复

使用道具 举报

419#
发表于 2016-10-26 18:17:57 | 显示全部楼层
本帖最后由 hhh333 于 2016-10-26 18:22 编辑
红毛樱木 发表于 2016-10-26 18:03
用这个方法安装的,输出日志看看,是不是每个INF安装,DEVI命令会不会每次都列表一次本机硬件ID


应该会列表一次,DEVI的逻辑是这样的,不知有否更有效率的方法。
不过这种扫描应该是注册表操作,因此是在内存中的,不要轮询外设,应该是很快的
回复

使用道具 举报

420#
发表于 2016-10-26 18:25:11 | 显示全部楼层
要么你将代码改一下,先扫描一下注册表看是否有双网双显,有就允许成功匹配两次就应该OK了
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-14 09:47

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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