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

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

   火... [复制链接]
发表于 2014-5-21 15:21:05 | 显示全部楼层
mdyblog 发表于 2014-5-21 15:14
1: 为什么要截取呢?
就用 那查出来的不行吗?

>>设备管理-》磁盘驱动器-》对应磁盘-》禁用/启用 能成吗?
能成!不管用什么办法,只要禁用->启用就可以。

点评

你亲自用那个U盘试了吗? 而不是推理出来的结论。 对比下, 你那ID 到底那个设备的 “设备范例Id” 或 “硬件 Id”? 给个图。  详情 回复 发表于 2014-5-21 15:25
回复

使用道具 举报

 楼主| 发表于 2014-5-21 15:25:13 | 显示全部楼层
本帖最后由 mdyblog 于 2014-5-21 15:28 编辑
阿弥陀佛 发表于 2014-5-21 15:21
>>设备管理-》磁盘驱动器-》对应磁盘-》禁用/启用 能成吗?
能成!不管用什么办法,只要禁用->启用就 ...


你亲自用那个U盘试了吗? 而不是推理出来的结论。
“设备管理-》磁盘驱动器-》你那测试磁盘-》禁用 , 能禁用成功吗? 再启用”
对比下, 你那ID 到底那个设备的 “设备范例Id” 或 “硬件 Id”?
给个图。

点评

>>对比下, 你那ID 到底那个设备的 “设备范例Id” 或 “硬件 Id”? devcon得到的id是:USBSTOR\DISK&VEN_GENERIC&PROD_STORAGE_DEVICE&REV_9451\7&724E74F&0 设备管理器没有“设备范例Id”win7可能是“ 设备实例  详情 回复 发表于 2014-5-21 15:33
回复

使用道具 举报

发表于 2014-5-21 15:29:18 | 显示全部楼层
mdyblog 发表于 2014-5-21 15:14
1: 为什么要截取呢?
就用 那查出来的不行吗?

>>为什么要截取呢?就用 那查出来的不行吗?
查出来的id用devcon.exe是可以禁用启用,但pecmd不行,因为这个id不完整啊。截取\后面那一段,是因为part查出来的信息除了id还有其他信息,也要截取,所以我截取的是\之后的。然后再【devcon.exe find “截取字符串”】,这样就能得到准确的id的。
回复

使用道具 举报

发表于 2014-5-21 15:33:05 | 显示全部楼层
mdyblog 发表于 2014-5-21 15:25
你亲自用那个U盘试了吗? 而不是推理出来的结论。
“设备管理-》磁盘驱动器-》你那测试磁盘-》禁用 ...

>>对比下, 你那ID 到底那个设备的 “设备范例Id” 或 “硬件 Id”?
devcon得到的id是:USBSTOR\DISK&VEN_GENERIC&PROD_STORAGE_DEVICE&REV_9451\7&724E74F&0
设备管理器没有“设备范例Id”win7可能是“ 设备实例路径”,结果是一样的,如图:
sshot-1.png

点评

那么 part -devid lsit disk 2,V 得出的DevID 有是多少呢?给个图吧。 和 设备管理得出的 “设备范例Id” 相比反查, 那有是谁的 "设备范例Id"? 给个图吧。  详情 回复 发表于 2014-5-21 15:59
回复

使用道具 举报

发表于 2014-5-21 15:35:24 | 显示全部楼层
>>你亲自用那个U盘试了吗? 而不是推理出来的结论。
测试过三种办法禁用->启用设备,第一是windows设备管理器,第二是devcon.exe,第三是pecmd的devi命令。都可以。测试u盘和读卡器都可以。所以才得出的推论。
回复

使用道具 举报

 楼主| 发表于 2014-5-21 15:59:59 | 显示全部楼层
本帖最后由 mdyblog 于 2014-5-21 16:01 编辑
阿弥陀佛 发表于 2014-5-21 15:33
>>对比下, 你那ID 到底那个设备的 “设备范例Id” 或 “硬件 Id”?
devcon得到的id是:USBSTOR\DISK&V ...


那么
part -devid  lsit disk 2,V
得出的DevID 又是多少呢?给个图吧。
和 设备管理得出的 “设备范例Id” 相比反查, 那又是谁的 "设备范例Id"? 给个图吧。

点评

devcon find只要匹配部分字符,查询出来的结果都是一样的,和设备管理器看到的一样。 命令如下: 结果如图: [attachimg]193655[/attachimg] 设备管理器: [attachimg]193656[/attachimg]  详情 回复 发表于 2014-5-21 16:34
回复

使用道具 举报

发表于 2014-5-21 16:34:53 | 显示全部楼层
mdyblog 发表于 2014-5-21 15:59
那么
part -devid  lsit disk 2,V
得出的DevID 又是多少呢?给个图吧。

devcon find只要匹配部分字符,查询出来的结果都是一样的,和设备管理器看到的一样。

命令如下:
  1. part -devid list disk 2,&V
  2. MSTR &V1=<12>%&V%
  3. exec*1 --wait --hide &V2=devcon.exe find %&V1%
  4. MSTR -delims:: &V3=<1>%&V2%
  5. mess 执行part  :%&V%\n截取      :%&V1%\n执行devcon:%&V2%\n截取      :%&V3%
复制代码

结果如图:
结果.png
设备管理器:
设备管理器.png

点评

麻烦 用 MBROSTool 的分区管理 的 分区交换 试试 ,能刷新吗? 如果这个 行, 那问题好说多了, 大不了,从头再搬一次。  详情 回复 发表于 2014-5-21 17:06
1: PART -devid 竟然 和设备管理器不一样, 奇怪。我到 win7测试下。 2: 你 直接用 PART -devid 返回的 ID, 直接找到 另外惟一个ID, 因此 应该是通一设备。 为什么 part -ahup hupdate 2失败? 会不会  详情 回复 发表于 2014-5-21 16:53
回复

使用道具 举报

 楼主| 发表于 2014-5-21 16:53:33 | 显示全部楼层
本帖最后由 mdyblog 于 2014-5-21 17:02 编辑
阿弥陀佛 发表于 2014-5-21 16:34
devcon find只要匹配部分字符,查询出来的结果都是一样的,和设备管理器看到的一样。

命令如下:


1:
PART -devid 竟然 和设备管理器不一样, 奇怪?
还有 PART -devid 返回的 devid 应该用很多巫师符号'&', 怎么这个这么干净?
我到 win7测试下。

2:
你 直接用  PART -devid  返回的 ID, 直接找到 另外惟一个ID, 因此 应该是通一设备。
为什么 part -ahup hupdate 2失败?
会不会是其它原因?比如:
1)此时U盘在使用者。锁住了。
2) part -ahup hupdate 2 还需要什么参数,。。。这个, 我再测试下。
3)昨天改了程序, 难道是PECMD 锁住设备了(我记得跟踪了,流程很正常啊??), 这个, 我再测试下。


3:
你直接 将 PART -devid 返回的 devid 用于DEVCON ,可以刷新设备吗?
如果这样可以, 那就没什么大问题(不可解决的问题),回去调调就好了。
否则,哼,得另起炉灶了。

点评

>>会不会是其它原因?比如:1)此时U盘在使用者。锁住了。 U盘并没有在使用,这是一个读卡器+SD卡,不知道是否有关系。我的U盘是不需要-ahup 就可以交换分区的。 >>你直接 将 PART -devid 返回的 devid 用于DEVCON  详情 回复 发表于 2014-5-21 17:06
回复

使用道具 举报

发表于 2014-5-21 17:06:18 | 显示全部楼层
mdyblog 发表于 2014-5-21 16:53
1:
PART -devid 竟然 和设备管理器不一样, 奇怪?
还有 PART -devid 返回的 devid 应该用很多巫师 ...

>>会不会是其它原因?比如:1)此时U盘在使用者。锁住了。
U盘并没有在使用,这是一个读卡器+SD卡,不知道是否有关系。我的U盘是不需要-ahup 就可以交换分区的。
>>你直接 将 PART -devid 返回的 devid 用于DEVCON ,可以刷新设备吗?
可以的,devcon匹配部分就可以,会禁用所有符合的设备。例如devcon.exe disable USBSTOR\*  会禁用所有USB存储设备。

点评

>>可以的,devcon匹配部分就可以,会禁用所有符合的设备。例如devcon.exe disable USBSTOR\* 会禁用所有USB存储设备。 你难道 不是 直接 用上面 devfind 到的具体id来禁止的? 而是 用: devcon.exe disable U  详情 回复 发表于 2014-5-21 18:22
不要 用通配符。 就用返回的devid本身精确匹配。  详情 回复 发表于 2014-5-21 18:13
回复

使用道具 举报

 楼主| 发表于 2014-5-21 17:06:20 | 显示全部楼层
阿弥陀佛 发表于 2014-5-21 16:34
devcon find只要匹配部分字符,查询出来的结果都是一样的,和设备管理器看到的一样。

命令如下:

麻烦 用 MBROSTool 的分区管理 的 分区交换 试试 ,能刷新吗?
如果这个 行, 那问题好说多了, 大不了,从头再搬一次。
回复

使用道具 举报

发表于 2014-5-21 17:08:47 | 显示全部楼层
>>麻烦 用 MBROSTool 的分区管理 的 分区交换 试试 ,能刷新吗?
MBROSTool 的分区管理也不行
回复

使用道具 举报

 楼主| 发表于 2014-5-21 18:13:44 | 显示全部楼层
本帖最后由 mdyblog 于 2014-5-21 18:15 编辑
阿弥陀佛 发表于 2014-5-21 17:06
>>会不会是其它原因?比如:1)此时U盘在使用者。锁住了。
U盘并没有在使用,这是一个读卡器+SD卡,不知 ...


不要 用通配符。 就用返回的devid本身精确匹配。

  1. ENVI^  EnviMode=1
  2. part -devid list disk 2,&V
  3. MSTR &V1=<12>%&V%
  4. exec* --wait --hide &V2=devcon.exe  enable @"%&V1%"
  5. exec* --wait --hide &V3=devcon.exe  disable @"%&V1%"

  6. mess 执行part  :%&V%\nDEVID      :%&V1%\n执行【devcon.exe enable @"%&V1%"】\n    :%&V2%\n【devcon.exe disable @"%&V1%"】\n    :%&V3%
复制代码

点评

devcon.exe使用返回值可以。pecmd的devi命令不可以,必须用devcon.exe查询出来的完整id才可以。  详情 回复 发表于 2014-5-21 18:33
回复

使用道具 举报

 楼主| 发表于 2014-5-21 18:22:57 | 显示全部楼层
阿弥陀佛 发表于 2014-5-21 17:06
>>会不会是其它原因?比如:1)此时U盘在使用者。锁住了。
U盘并没有在使用,这是一个读卡器+SD卡,不知 ...


>>可以的,devcon匹配部分就可以,会禁用所有符合的设备。例如devcon.exe disable USBSTOR\*  会禁用所有USB存储设备。

你难道 不是 直接 用上面 devfind 到的具体id来禁止的?
而是 用:
devcon.exe disable USBSTOR\*

如果只能这样,  那不用再继续 折腾了。
那是设备的原因。

点评

我只是举个例子。是使用返回的id。代码前面都贴上去了。  详情 回复 发表于 2014-5-21 18:36
回复

使用道具 举报

发表于 2014-5-21 18:33:02 | 显示全部楼层
mdyblog 发表于 2014-5-21 18:13
不要 用通配符。 就用返回的devid本身精确匹配。

devcon.exe使用返回值可以。pecmd的devi命令不可以,必须用devcon.exe查询出来的完整id才可以。

点评

但是你给的代码多了@字符,要去掉才可以  详情 回复 发表于 2014-5-21 18:33
回复

使用道具 举报

发表于 2014-5-21 18:33:48 | 显示全部楼层
阿弥陀佛 发表于 2014-5-21 18:33
devcon.exe使用返回值可以。pecmd的devi命令不可以,必须用devcon.exe查询出来的完整id才可以。

但是你给的代码多了@字符,要去掉才可以

点评

@表示 PART -devid 对应的 “设备范例Id” 这么说 , 那玩意 不是 “设备范例Id”! 那是什么?  详情 回复 发表于 2014-5-21 18:36
回复

使用道具 举报

发表于 2014-5-21 18:36:04 | 显示全部楼层
mdyblog 发表于 2014-5-21 18:22
>>可以的,devcon匹配部分就可以,会禁用所有符合的设备。例如devcon.exe disable USBSTOR\*  会禁用所 ...

我只是举个例子。是使用返回的id。代码前面都贴上去了。
回复

使用道具 举报

 楼主| 发表于 2014-5-21 18:36:41 | 显示全部楼层
本帖最后由 mdyblog 于 2014-5-21 18:40 编辑
阿弥陀佛 发表于 2014-5-21 18:33
但是你给的代码多了@字符,要去掉才可以


@表示 PART -devid 对应的 “设备范例Id”
这么说 , 那玩意 不是 “设备范例Id”!
那是什么?
看起来也不象"设备范例Id"

郁闷?
我明明返回的 是 “设备范例Id”?!

点评

>>这么说 , 那玩意 不是 “设备范例Id” 返回的应该是硬件id,在设备管理器中查看吻合的。 [attachimg]193670[/attachimg]  详情 回复 发表于 2014-5-21 18:53
说不清楚,我还是用你给的代码执行结果贴上图片吧: [attachimg]193667[/attachimg]  详情 回复 发表于 2014-5-21 18:39
回复

使用道具 举报

发表于 2014-5-21 18:39:56 | 显示全部楼层
mdyblog 发表于 2014-5-21 18:36
@表示 PART -devid 对应的 “设备范例Id”
这么说 , 那玩意 不是 “设备范例Id”!
那是什么?

说不清楚,我还是用你给的代码执行结果贴上图片吧:
sshot-1.png

点评

最为对比,去掉@之后的执行结果也贴上去 [attachimg]193669[/attachimg]  详情 回复 发表于 2014-5-21 18:48
回复

使用道具 举报

发表于 2014-5-21 18:48:17 | 显示全部楼层
阿弥陀佛 发表于 2014-5-21 18:39
说不清楚,我还是用你给的代码执行结果贴上图片吧:

最为对比,去掉@之后的执行结果也贴上去
sshot-1.png
回复

使用道具 举报

发表于 2014-5-21 18:53:08 | 显示全部楼层
mdyblog 发表于 2014-5-21 18:36
@表示 PART -devid 对应的 “设备范例Id”
这么说 , 那玩意 不是 “设备范例Id”!
那是什么?

>>这么说 , 那玩意 不是 “设备范例Id”
返回的应该是硬件id,在设备管理器中查看吻合的。
sshot-2.png

点评

不知道 新版 行不行。  详情 回复 发表于 2014-5-21 23:48
是啊! 1: devi listdev:V1 *listdev=i *devclass:DiskDrive devi listdev:V2 *devclass:DiskDrive MESS %V1%\n%V2% 看了下, 返回的的确不是 “设备范例Id" 而是硬件Id。 回去 改下。 2: 不过问题不  详情 回复 发表于 2014-5-21 19:01
回复

使用道具 举报

 楼主| 发表于 2014-5-21 19:01:31 | 显示全部楼层
本帖最后由 mdyblog 于 2014-5-21 19:03 编辑
阿弥陀佛 发表于 2014-5-21 18:53
>>这么说 , 那玩意 不是 “设备范例Id”
返回的应该是硬件id,在设备管理器中查看吻合的。


是啊!
1:
devi  listdev:V1 *listdev=i *devclass:DiskDrive
devi  listdev:V2  *devclass:DiskDrive
MESS %V1%\n%V2%
看了下, 返回的的确不是 “设备范例Id" 而是硬件Id。
回去 改下。

2: 不过问题不在这里。
内部不依靠 这个 来 运作的。 这个 只是调试时 肉眼看看而已。
//如果调用DEVICON,需要这个。
//这里PECMD不用DEVCON。
没有尾巴的老虎,真奇怪!

点评

那怎样获取硬件ID呢? 另外问下,从一个硬件ID,能知道它的驱动是否安装,或者安装是否正确吗?  详情 回复 发表于 2014-5-21 20:51
回复

使用道具 举报

发表于 2014-5-21 19:44:06 | 显示全部楼层
brow的问题,6259#提供的附件是可以初始化为普通目录的,但是%temp%还是不行。既然是微软的限制也不用去管它了吧。只要能浏览普通目录就好。

点评

新版这样改了。  详情 回复 发表于 2014-5-21 23:46
回复

使用道具 举报

发表于 2014-5-21 20:51:22 | 显示全部楼层
mdyblog 发表于 2014-5-21 19:01
是啊!
1:
devi  listdev:V1 *listdev=i *devclass:DiskDrive

那怎样获取硬件ID呢?
另外问下,从一个硬件ID,能知道它的驱动是否安装,或者安装是否正确吗?

点评

devi listdev:V1 就是 硬件ID  详情 回复 发表于 2014-5-21 23:44
回复

使用道具 举报

 楼主| 发表于 2014-5-21 23:44:24 | 显示全部楼层
本帖最后由 mdyblog 于 2014-5-21 23:47 编辑
sp_star 发表于 2014-5-21 20:51
那怎样获取硬件ID呢?
另外问下,从一个硬件ID,能知道它的驱动是否安装,或者安装是否正确吗?


devi  listdev:V1   
就是 硬件ID

》》另外问下,从一个硬件ID,能知道它的驱动是否安装,或者安装是否正确吗?
没想过。
DEVCON  有这个功能吗?

点评

估计也没有,随便问问,呵呵。  详情 回复 发表于 2014-5-22 00:17
回复

使用道具 举报

 楼主| 发表于 2014-5-21 23:45:52 | 显示全部楼层
diannao338 发表于 2014-5-21 08:38
改后 结果:还是不正常,     为什么移动窗口正常?
确实判断为子窗口了,和主窗口(打开的资源管理器)的位 ...

新版好了。
Snap1.gif
回复

使用道具 举报

 楼主| 发表于 2014-5-21 23:46:25 | 显示全部楼层
阿弥陀佛 发表于 2014-5-21 19:44
brow的问题,6259#提供的附件是可以初始化为普通目录的,但是%temp%还是不行。既然是微软的限制也不用去管 ...

新版这样改了。
回复

使用道具 举报

 楼主| 发表于 2014-5-21 23:48:59 | 显示全部楼层
阿弥陀佛 发表于 2014-5-21 18:53
>>这么说 , 那玩意 不是 “设备范例Id”
返回的应该是硬件id,在设备管理器中查看吻合的。

不知道 新版 行不行。

点评

还没休息,发上来试试  详情 回复 发表于 2014-5-21 23:51
回复

使用道具 举报

发表于 2014-5-21 23:51:38 | 显示全部楼层
mdyblog 发表于 2014-5-21 23:48
不知道 新版 行不行。

还没休息,发上来试试

点评

现在好了么?  详情 回复 发表于 2014-5-22 18:08
下载, 就是最新的。  详情 回复 发表于 2014-5-22 00:25
回复

使用道具 举报

发表于 2014-5-22 00:17:15 | 显示全部楼层
mdyblog 发表于 2014-5-21 23:44
devi  listdev:V1   
就是 硬件ID

估计也没有,随便问问,呵呵。

点评

>>估计也没有,随便问问,呵呵。 DEVCON 可以查看制定设备的状态: devcon status 设备id [attachimg]193704[/attachimg]  详情 回复 发表于 2014-5-22 00:51
回复

使用道具 举报

 楼主| 发表于 2014-5-22 00:25:11 | 显示全部楼层
阿弥陀佛 发表于 2014-5-21 23:51
还没休息,发上来试试

下载, 就是最新的。

点评

什么时候上传的?百度网盘只有这几个,最新的也是5月21号0点的版本。这个版本brow初始化路径是无效的。 [attachimg]193702[/attachimg]  详情 回复 发表于 2014-5-22 00:39
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-18 00:53

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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