无忧启动论坛

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

[求助] 判断添加PE命令

[复制链接]
跳转到指定楼层
1#
发表于 2023-10-6 10:26:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现有1批处理:给ESP分区添加PE
        2批处理:给C盘添加PE
如何用批处理判断实现:

如果存在ESP分区将执行ESP分区批处理,如果不存在ESP分区将执行添加C盘PE的批处理
2#
发表于 2023-10-6 10:44:17 | 只看该作者
还得检测ESP分区的大小能不能放得下PE包
回复

使用道具 举报

3#
 楼主| 发表于 2023-10-6 10:48:29 | 只看该作者
Anson4 发表于 2023-10-6 10:44
还得检测ESP分区的大小能不能放得下PE包

ESP已经提前分好
回复

使用道具 举报

4#
 楼主| 发表于 2023-10-6 10:49:41 | 只看该作者
Anson4 发表于 2023-10-6 10:44
还得检测ESP分区的大小能不能放得下PE包

加上最好,命令怎么写
回复

使用道具 举报

5#
发表于 2023-10-6 10:59:45 | 只看该作者

意思是存在的?
回复

使用道具 举报

6#
发表于 2023-10-6 11:05:16 | 只看该作者
echo list vol|diskpart
观察有没有的结果
回复

使用道具 举报

7#
 楼主| 发表于 2023-10-6 11:10:28 | 只看该作者
szwp 发表于 2023-10-6 10:59
意思是存在的?

是的,添加一个判断
回复

使用道具 举报

8#
发表于 2023-10-6 13:03:31 | 只看该作者
学习学习
回复

使用道具 举报

9#
 楼主| 发表于 2023-10-6 14:06:11 | 只看该作者

学习什么,怎么写都没有
回复

使用道具 举报

10#
发表于 2023-10-6 14:28:06 来自手机 | 只看该作者
wenbieba 发表于 2023-10-6 11:10
是的,添加一个判断

用6楼的结果判断
回复

使用道具 举报

11#
 楼主| 发表于 2023-10-6 15:02:40 | 只看该作者
szwp 发表于 2023-10-6 14:28
用6楼的结果判断



如果存在ESP分区将执行ESP分区批处理,如果不存在ESP分区将执行添加C盘PE的批处理
回复

使用道具 举报

12#
发表于 2023-10-6 15:22:53 | 只看该作者
wenbieba 发表于 2023-10-6 15:02
如果存在ESP分区将执行ESP分区批处理,如果不存在ESP分区将执行添加C盘PE的批处理

ESP已经提前分好就一直存在了
回复

使用道具 举报

13#
发表于 2023-10-6 15:34:46 来自手机 | 只看该作者
管理员权限运行,否则无法卸载盘符

  1. @echo off
  2. pushd %~dp0

  3. for /f "skip=21 tokens=1,3 delims=:\ " %%a in ('mountvol') do if "%%a"=="EFI" set "espltr=%%b"

  4. if not defined espltr for %%a in (Z Y X 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:\ set "espltr=%%a"&&goto next
  5. :next
  6. if not exist %espltr%:\ mountvol %espltr%: /s >nul

  7. if exist %espltr%:\ (
  8.     echo;ESP 分区 %espltr%,执行ESP相关代码...
  9.     ping -n 3 127.1
  10.     mountvol %espltr%: /d
  11. ) else (
  12.     echo;不存在ESP分区,执行C盘相关代码...
  13. )
  14. pause
复制代码
回复

使用道具 举报

14#
发表于 2023-10-6 15:35:41 来自手机 | 只看该作者
未测试PE下是否可行。。。
回复

使用道具 举报

15#
 楼主| 发表于 2023-10-6 16:08:57 | 只看该作者
szwp 发表于 2023-10-6 15:22
ESP已经提前分好就一直存在了

是的会一直存在,假设换一个没有ESP分区的是不就…
回复

使用道具 举报

16#
 楼主| 发表于 2023-10-6 16:10:05 | 只看该作者
nttwqz 发表于 2023-10-6 15:34
管理员权限运行,否则无法卸载盘符

谢谢大佬
回复

使用道具 举报

17#
 楼主| 发表于 2023-10-6 16:18:35 | 只看该作者
nttwqz 发表于 2023-10-6 15:34
管理员权限运行,否则无法卸载盘符

麻烦大神,假如两个都存在执行esp的怎么写,如果同时添加esp和C盘下的会造成sdi冲突(sdi显示后执行的),
回复

使用道具 举报

18#
发表于 2023-10-6 16:24:01 | 只看该作者
感谢分享
回复

使用道具 举报

19#
发表于 2023-10-6 16:30:28 来自手机 | 只看该作者
wenbieba 发表于 2023-10-6 16:18
麻烦大神,假如两个都存在执行esp的怎么写,如果同时添加esp和C盘下的会造成sdi冲突(sdi显示后执行的) ...

mountvol应该不会挂载非当前系统的ESP分区,因为这测试的就有Linux的ESP分区,并没有被挂载,如果想安装到非当前系统的ESP分区或者多ESP分区,那么就需要diskpart或者分区助手等工具了,也可以用dpinfo改一下。
回复

使用道具 举报

20#
发表于 2023-10-6 16:40:29 来自手机 | 只看该作者
意外发现,普通权限mountvol挂载的ESP分区盘符,普通权限的资源管理器中可见,但是常见的方法无法卸载这个盘符diskpart、bootice、常用分区软件、磁盘管理都不行,估计只能重启了。
回复

使用道具 举报

21#
 楼主| 发表于 2023-10-6 16:53:11 | 只看该作者
nttwqz 发表于 2023-10-6 15:34
管理员权限运行,否则无法卸载盘符

加入现有的命令闪退了
回复

使用道具 举报

22#
发表于 2023-10-6 17:04:20 | 只看该作者
  1. @echo off
  2. bcdedit /enum {current} | find "winload.efi"
  3. if "%errorlevel%" == "1" goto BIOS.BAT
  4. if "%errorlevel%" == "0" goto UEFI.BAT

复制代码


回复

使用道具 举报

23#
 楼主| 发表于 2023-10-6 17:08:36 | 只看该作者

现有命令加到什么位置
回复

使用道具 举报

24#
发表于 2023-10-6 17:13:20 | 只看该作者
wenbieba 发表于 2023-10-6 17:08
现有命令加到什么位置

你想它什么时候执行判断,就添加在哪里啊。

bios.bat 和 uefi.bat 分别对应你的C盘PE的批处理和esp的批处理啊。
回复

使用道具 举报

25#
发表于 2023-10-6 17:21:22 | 只看该作者
西
回复

使用道具 举报

26#
发表于 2023-10-6 18:00:18 来自手机 | 只看该作者
wenbieba 发表于 2023-10-6 16:53
加入现有的命令闪退了

在cmd中打开批处理,看看报错内容,改之
回复

使用道具 举报

27#
 楼主| 发表于 2023-10-6 18:30:49 | 只看该作者
nttwqz 发表于 2023-10-6 18:00
在cmd中打开批处理,看看报错内容,改之

一闪而过,off删除都不行
回复

使用道具 举报

28#
发表于 2023-10-6 18:49:43 来自手机 | 只看该作者
wenbieba 发表于 2023-10-6 18:30
一闪而过,off删除都不行

在cmd中打开批处理,看看报错内容,改之
回复

使用道具 举报

29#
发表于 2023-10-28 11:35:04 | 只看该作者
学习学习
回复

使用道具 举报

30#
发表于 2023-10-28 12:46:49 来自手机 | 只看该作者
论坛里有现成的,我也写过一个,善用搜索啊
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-27 13:43

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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