无忧启动论坛

 找回密码
 注册
搜索

找出包含特定文件的卷,如果该卷没有分配盘符,就分配之。

查看数: 5217 | 评论数: 27 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2023-1-19 10:21

正文摘要:

本帖最后由 dos时代菜鸟 于 2023-3-16 14:25 编辑 pecmd x64 脚本 http://bbs.wuyou.net/forum.php?m ... 8MTE5OHw0MzM4NjM%3D

回复

nowayer 发表于 2023-12-7 01:19:04
提示: 作者被禁止或删除 内容自动屏蔽
black_bai 发表于 2023-3-17 14:04:49
dos时代菜鸟 发表于 2023-3-16 11:28
这个是 pecmd 版本的 使用 x64 位 cmd 下运行。

感谢大佬,好详细,刚好还差两分就能下载附件了
时尚拼搏 发表于 2023-3-16 10:25:06
谢谢分享
dos时代菜鸟 发表于 2023-3-15 23:57:25
black_bai 发表于 2023-3-15 15:27
大佬,我U盘分了个PETOOLS分区并用DG将其隐藏,导致进PE因为该分区没有盘符而不能加载其中的软件。求个挂载 ...

如果没猜错,diskgen 隐藏分区本质是通过修改mbr分区id 或者修改gpt分区属性的方式实现的。
这种情况下,建议用pecmd 脚本。
dos时代菜鸟 发表于 2023-3-15 19:46:45
本帖最后由 dos时代菜鸟 于 2023-3-15 19:48 编辑
black_bai 发表于 2023-3-15 15:27
大佬,我U盘分了个PETOOLS分区并用DG将其隐藏,导致进PE因为该分区没有盘符而不能加载其中的软件。求个挂载 ...
前提是 mountvol 可以识别你说的那个隐藏分区。
然后,一楼脚本就可以实现,需要修改脚本前部 设置的 搜索目标。
自己改吧。

set filex=petools

black_bai 发表于 2023-3-15 15:27:36
大佬,我U盘分了个PETOOLS分区并用DG将其隐藏,导致进PE因为该分区没有盘符而不能加载其中的软件。求个挂载命令。
分区名 PETOOLS,并且分区下有PETOOLS文件夹

点评

这个是 pecmd 版本的 使用 x64 位 cmd 下运行。 [attachimg]522657[/attachimg] [attachimg]522658[/attachimg]  详情 回复 发表于 2023-3-16 11:28
如果没猜错,diskgen 隐藏分区本质是通过修改mbr分区id 或者修改gpt分区属性的方式实现的。 这种情况下,建议用pecmd 脚本。  详情 回复 发表于 2023-3-15 23:57
一楼脚本可以实现,需要修改脚本前部 设置的 搜索目标。 自己改吧。  详情 回复 发表于 2023-3-15 19:46
dos时代菜鸟 发表于 2023-2-27 14:37:35
本帖最后由 dos时代菜鸟 于 2023-2-27 14:40 编辑
saiz 发表于 2023-2-26 18:26
就是怕有太多分區 才會用名稱分別啊..
檔案也是會有重覆問題
不過我認為

关键是有的分区 没有被挂载,怎么获取 卷标名称?
需要把所有的可用分区都挂载了,再逐个找卷标,而有的时候 不想把某些分区挂出来。

而,if 指令恰恰可以 不通过盘符 判定某个分区是否存在某个特定文件。

saiz 发表于 2023-2-26 18:26:31
dos时代菜鸟 发表于 2023-1-20 20:54
这个代码,目的是找到含有指定文件的卷,不是特指efi 或者 u盘。
因为 找efi 分区或者u盘,都有特定的代 ...

就是怕有太多分區 才會用名稱分別啊..
檔案也是會有重覆問題
不過我認為
搜尋分區名稱速度應該快於搜尋各分區下特別檔案
所以才改用分區名稱識別

点评

关键是有的分区 没有被挂载,怎么获取 卷标名称? 需要把所有的可用分区都挂载了,再逐个找卷标,而有的时候 不想把某些分区挂出来。  详情 回复 发表于 2023-2-27 14:37
yyz2191958 发表于 2023-2-15 15:03:54
谢谢分享
wfaming 发表于 2023-2-9 17:49:17
学习一下
dos时代菜鸟 发表于 2023-1-24 22:50:51
adminkk 发表于 2023-1-21 08:41
文件搜索?

是定位文件盘符
adminkk 发表于 2023-1-21 08:41:25
文件搜索?

点评

是定位文件盘符  详情 回复 发表于 2023-1-24 22:50
dos时代菜鸟 发表于 2023-1-20 20:54:01
saiz 发表于 2023-1-20 18:01
找檔案再給代號我也是試過.
不過找名稱總比找檔案快吧.
所以我就改用改名稱比較快

这个代码,目的是找到含有指定文件的卷,不是特指efi 或者 u盘。
因为 找efi 分区或者u盘,都有特定的代码了。

至于u盘分配特定盘符u 也是一样,用 pecmd 找到 USB接口的盘,再进一步确定目标盘,再分配盘符为u .这里面需要考虑 分区卷标的重复问题,如果同时有好几个u盘,u盘上有好几个分区,等等问题。这个脚本 并不适用。

点评

就是怕有太多分區 才會用名稱分別啊.. 檔案也是會有重覆問題 不過我認為 搜尋分區名稱速度應該快於搜尋各分區下特別檔案 所以才改用分區名稱識別  详情 回复 发表于 2023-2-26 18:26
saiz 发表于 2023-1-20 18:01:02
dos时代菜鸟 发表于 2023-1-19 21:57
我这个是先找文件,后分配盘符。
如果有盘符,就不用分配了。

找檔案再給代號我也是試過.
不過找名稱總比找檔案快吧.
所以我就改用改名稱比較快
至於代號 我設定中有的都寫死了
所以我都必須指定是U:\

点评

这个代码,目的是找到含有指定文件的卷,不是特指efi 或者 u盘。 因为 找efi 分区或者u盘,都有特定的代码了。 至于u盘分配特定盘符u 也是一样,用 pecmd 找到 USB接口的盘,再进一步确定目标盘,再分配盘符为u  详情 回复 发表于 2023-1-20 20:54
nttwqz 发表于 2023-1-20 14:43:47
dos时代菜鸟 发表于 2023-1-20 13:24
如果只是用来找efi分区,就不通过文件定位了。直接diskpart 更合适。

主要用来获取卷名称及盘符信息并赋值给变量
dos时代菜鸟 发表于 2023-1-20 13:24:35
nttwqz 发表于 2023-1-20 12:55
我翻了翻dp盘符整理,写过一段获取信息的。

如果只是用来找efi分区,就不通过文件定位了。直接diskpart 更合适。

点评

主要用来获取卷名称及盘符信息并赋值给变量  详情 回复 发表于 2023-1-20 14:43
jhzlx 发表于 2023-1-20 13:04:23
把 找到的符合条件的 卷 对应的盘符都存到变量 drvs2 中,是不是更好一些?
nttwqz 发表于 2023-1-20 12:55:47
我翻了翻dp盘符整理,写过一段获取信息的。

  1. rem 使用mountvol获取卷名称
  2.                         rem mountvol_bug:未修正。使用/s挂载的EFI分区对应的卷名称下面不会显示盘符,通过/l有可能会查出该卷名称,通过diskpart等其它方式仍然可以再次为这个EFI分区分配盘符,这就造成了一个EFI分区可能有两个盘符的情况,前者挂载的属于非diskpart盘符。
  3.                         set /a mvn=0
  4.                         for /f "skip=22 tokens=1,3" %%a in ('mountvol') do (
  5.                                 set "mvstr=%%a"
  6.                                 if "!mvstr:~0,2!"=="!mvstr:~-1!" (
  7.                                         set "volumename_tmp=%%a"
  8.                                         set "volumename_tmp=!volumename_tmp:~0,-1!"
  9.                                 )
  10.                                 if "!mvstr:~-2!"==":" (
  11.                                         set "volumename_!mvstr:~0,1!=!volumename_tmp!"
  12.                                 ) else if "!mvstr:~0,3!"=="***" (
  13.                                         set /a mvn+=1
  14.                                         set "volumename_null_!mvn!=!volumename_tmp!"
  15.                                 )
  16.                                 rem 获取通过mountvol挂载的EFI分区盘符
  17.                                 if /i "%%a"=="EFI" if exist "%%b" (
  18.                                         set "mountvol_efi=%%~db"
  19.                                         set "mountvol_efi=!mountvol_efi:~0,1!"
  20.                                 )
  21.                         )
复制代码

点评

如果只是用来找efi分区,就不通过文件定位了。直接diskpart 更合适。  详情 回复 发表于 2023-1-20 13:24
dos时代菜鸟 发表于 2023-1-19 21:57:28
本帖最后由 dos时代菜鸟 于 2023-1-19 22:02 编辑
saiz 发表于 2023-1-19 19:17
https://www.sordum.org/8501/drive-letter-changer-v1-4/
用這程式就可以搜尋磁碟槽名稱並分配磁碟代號
...

我这个是先找文件,后分配盘符。
如果有盘符,就不用分配了。

至于精准定位u盘,并分配盘符,用pecmd脚本秒完成,不用手动操作。直接通过磁盘接口找u盘。

点评

找檔案再給代號我也是試過. 不過找名稱總比找檔案快吧. 所以我就改用改名稱比較快 至於代號 我設定中有的都寫死了 所以我都必須指定是U:\  详情 回复 发表于 2023-1-20 18:01
旁观者清 发表于 2023-1-19 19:55:45
谢谢分享。
saiz 发表于 2023-1-19 19:17:46
https://www.sordum.org/8501/drive-letter-changer-v1-4/
用這程式就可以搜尋磁碟槽名稱並分配磁碟代號
我都用來確認PE隨身碟是U:\

点评

我这个是先找文件,后分配盘符。 如果有盘符,就不用分配了。 至于精准定位u盘,并分配盘符,用pecmd脚本秒完成,不用手动操作。  详情 回复 发表于 2023-1-19 21:57
邪恶海盗 发表于 2023-1-19 15:05:13
围观玩CMD的大佬...
灌水小混混 发表于 2023-1-19 12:02:18
学习一下
dos时代菜鸟 发表于 2023-1-19 10:56:00
把 找到的符合条件的 卷 对应的盘符都存到变量 drvs2 中,是不是更好一些?
dos时代菜鸟 发表于 2023-1-19 10:42:48
卷路径里包含 ? ,在 cmd 里 是通配符,所以需要考虑 避开截掉之。
conlin888 发表于 2023-1-19 10:24:49
沙发

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

闽公网安备 35020302032614号

GMT+8, 2024-5-18 20:55

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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