无忧启动论坛

 找回密码
 注册
搜索

求一个在挂载完ESP分区后能够自动显示出ESP分区的盘符的批处理

查看数: 10522 | 评论数: 23 | 收藏 3
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-12-22 11:23

正文摘要:

本帖最后由 有阴也有阳 于 2017-12-24 16:08 编辑         挂载ESP分区的批处理已有: @echo off echo 正在挂载ESP分区…… FOR /F "usebackq tokens=2 delims= " %%i in ...

回复

有阴也有阳 发表于 2017-12-26 16:27:35
comzhongwy 发表于 2017-12-26 15:49
新工具

Window引导修复&挂载ESP分区&引导分区文件管理(Legacy+UEFI)

谢谢!!!已经下载试用。
有阴也有阳 发表于 2017-12-26 16:27:27
comzhongwy 发表于 2017-12-26 15:49
新工具

Window引导修复&挂载ESP分区&引导分区文件管理(Legacy+UEFI)

谢谢!!!已经下载试用。
lintrainwy 发表于 2017-12-26 15:49:00

点评

谢谢!!!已经下载试用。  详情 回复 发表于 2017-12-26 16:27
谢谢!!!已经下载试用。  详情 回复 发表于 2017-12-26 16:27
feiyike 发表于 2017-12-24 14:34:51
有阴也有阳 发表于 2017-12-23 11:17
echo assign letter=R>>%temp%\t.txt   //分配指定驱动器号

——经测试无法显示所挂载的ESP分区的盘符 ...

都指定盘符了,还显示什么啊
feiyike 发表于 2017-12-24 14:26:45
有阴也有阳 发表于 2017-12-23 11:17
echo assign letter=R>>%temp%\t.txt   //分配指定驱动器号

——经测试无法显示所挂载的ESP分区的盘符 ...


  FOR /F "usebackq tokens=2 delims= " %%i in (` echo list disk ^|diskpart ^| find "磁盘" `) do (
         echo select disk=%%i>%temp%\t.txt
         echo list partition>>%temp%\t.txt
         FOR /F "usebackq tokens=2 delims= " %%j in (` diskpart /s %temp%\t.txt ^| find "系统" `) do (
                 echo select disk=%%i>%temp%\t.txt
                 echo select partition=%%j>>%temp%\t.txt
                 echo assign letter="Q">>%temp%\t.txt
                 diskpart /s %temp%\t.txt>nul
         ) )
pause



FOR /F "usebackq tokens=3 delims= " %%i in (` echo list vol ^|diskpart ^| find "系统" `) do (
         echo %%i
         )  

二选一
有阴也有阳 发表于 2017-12-24 13:39:54
nttwqz 发表于 2017-12-23 15:50
你还没明白,我是以Diskpart里面的为标准,不是以DG为标准。即使你DG里面显示的是在第1,到了Diskpart里 ...

        bat是正确的,是DG自身有bug,详见第16楼。
834772509 发表于 2017-12-23 19:20:09
这么麻烦,论坛搜索:findesp
nttwqz 发表于 2017-12-23 15:50:20
有阴也有阳 发表于 2017-12-23 14:10
1.



你还没明白,我是以Diskpart里面的为标准,不是以DG为标准。即使你DG里面显示的是在第1,到了Diskpart里面显示的是3,就是3不是1,第三方软件显示的分区位置跟我没有关系。

所以你要测试批处理是否错误,应该管理员进入cmd
输入
diskpart
sel disk 0
list part
然后对比一下是否错误,然后截图给我。
有阴也有阳 发表于 2017-12-23 13:34:26
nttwqz 发表于 2017-12-23 12:50
楼主能不能说一下,ESP分区怎么辨识错误,是位置显示错了?还是识别成了别的不是ESP的分区?ESP分区的识别 ...

等我有空给你截个图,一目了然,比用文字说方便。
nttwqz 发表于 2017-12-23 12:50:35
楼主能不能说一下,ESP分区怎么辨识错误,是位置显示错了?还是识别成了别的不是ESP的分区?ESP分区的识别,是根据分区类型ID来分辨的。

“查找活动及ESP分区_diskpart_find”批处理基于diskpart实现,除了硬盘(也就是最终显示的序号)是从1人工分配的,这是为了更加直观,实际的硬盘显示在第二列,分区显示在第三列,这个都是来自diskpart,我没有修改设定,不一定按顺序,比如我的硬盘就只有0和2,没有1。

最终的序号也并一定按顺序和从1开始,比如你电脑有4块磁盘,像下面这样,那么最终会显示2、4,不是1、2,这是更容易区分启动分区在哪个磁盘

1. 无启动分区
2. 有启动分区
3. 无启动分区
4. 有启动分区

有阴也有阳 发表于 2017-12-23 11:17:55
feiyike 发表于 2017-12-22 13:58
echo assign letter=R>>%temp%\t.txt   //分配指定驱动器号

%SystemRoot%\explorer.exe   ::{20D04FE0 ...

echo assign letter=R>>%temp%\t.txt   //分配指定驱动器号

——经测试无法显示所挂载的ESP分区的盘符。

                                                谢谢!!!

点评

都指定盘符了,还显示什么啊  详情 回复 发表于 2017-12-24 14:34
FOR /F "usebackq tokens=2 delims= " %%i in (` echo list disk ^|diskpart ^| find "磁盘" `) do ( echo select disk=%%i>%temp%\t.txt echo list partition>>%temp%\t.txt FOR /  详情 回复 发表于 2017-12-24 14:26
nttwqz 发表于 2017-12-23 08:08:56
本帖最后由 nttwqz 于 2017-12-23 12:04 编辑
有阴也有阳 发表于 2017-12-22 21:18
试了一下果然能够自动分配盘符,谢谢!!!


既然换成了微PE2.0,mountvol可用,那仅仅挂载esp分区就非常简单了。
  1. @for %%a in (z y w v u t s r q p o n m l k j i h g f e d) do if not exist %%a:\ mountvol %%a: /s && exit
复制代码
有阴也有阳 发表于 2017-12-22 21:18:40
nttwqz 发表于 2017-12-22 19:09
这还用得着结合?

看起来都能挂载的好吧

试了一下果然能够自动分配盘符,谢谢!!!

点评

既然换成了微PE2.0,mountvol可用,那仅仅挂载esp分区就非常简单了。  详情 回复 发表于 2017-12-23 08:08
有阴也有阳 发表于 2017-12-22 20:48:00
本帖最后由 有阴也有阳 于 2017-12-22 20:53 编辑
nttwqz 发表于 2017-12-22 19:09
这还用得着结合?

看起来都能挂载的好吧


mountvol z: /s   ——在微PE  1.2版中不可用,在微PE  2.0版中可用。

我用的那个挂载bat在微PE  1.2版中也可用。

你讲的这个方法我有空再试试。

谢谢指点!!!
captain_g 发表于 2017-12-22 20:25:35
楼主可以换一个思路,首先找系统中尚未使用的盘符;

然后直接指定使用这个盘符挂载ESP分区;
nttwqz 发表于 2017-12-22 19:09:54
这还用得着结合?

看起来都能挂载的好吧

::设置是否为无盘符的活动分区或EFI分区分配盘符(一般重启会消失),开启:y

set auto=y
上面加个y就会自动分配盘符了

还有个命令可以挂载,不知道WinPE下是否能用
mountvol z: /s

评分

参与人数 1无忧币 +5 收起 理由
有阴也有阳 + 5 谢谢!!!

查看全部评分

有阴也有阳 发表于 2017-12-22 15:30:03
comzhongwy 发表于 2017-12-22 14:06
如果添加了 explorer 的话,可以用这个打开计算机窗口,参数是逗号:

这个在系统里面能够正常地执行,在PE里面却不能打开计算机窗口。
lintrainwy 发表于 2017-12-22 14:06:16
如果添加了 explorer 的话,可以用这个打开计算机窗口,参数是逗号:

  1. explorer ,
复制代码

点评

这个在系统里面能够正常地执行,在PE里面却不能打开计算机窗口。  详情 回复 发表于 2017-12-22 15:30

评分

参与人数 1无忧币 +5 收起 理由
有阴也有阳 + 5 谢谢指点!谢谢!!!

查看全部评分

lintrainwy 发表于 2017-12-22 14:04:31
chishingchan 发表于 2017-12-22 13:41
凡是批处理需要生成文件再处理的批处理属次品!虽然最终是完成任务。

主要还是批处理功能太弱了点,不生成文件也是可以的,但是代价是代码变得复杂,每个人需求不同
feiyike 发表于 2017-12-22 13:58:49
本帖最后由 feiyike 于 2017-12-22 14:01 编辑


echo assign letter=R>>%temp%\t.txt   //分配指定驱动器号

%SystemRoot%\explorer.exe   ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}
chishingchan 发表于 2017-12-22 13:41:05
凡是批处理需要生成文件再处理的批处理属次品!虽然最终是完成任务。
nttwqz 发表于 2017-12-22 12:21:31
本帖最后由 nttwqz 于 2017-12-22 12:47 编辑

我写的不是有现成的脚本?

算了,手机传不了附件,你自己去这儿找吧

http://bbs.wuyou.net/forum.php?m ... p;extra=&page=4

评分

参与人数 1无忧币 +5 收起 理由
有阴也有阳 + 5 谢谢热心指点!谢谢!!!

查看全部评分

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

闽公网安备 35020302032614号

GMT+8, 2025-2-19 03:12

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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