|
|
发表于 2011-3-22 09:37:47
|
显示全部楼层
我简单编辑了一个有选择的删除某个 id 的批处理
内容如下:
应该可以达到你的要求。中文win7环境测试成功
------------------------------------------------
@echo off
cls
setlocal ENABLEDELAYEDEXPANSION
if %1*==bcd* goto bcd
:top
cls
echo.
echo 删除 BOOTMGR BCD 启动项目
echo.
call :bcd
echo.
echo 请选择要删除的项目编号并回车确认(1.2.3.4...)_______
echo Ctrl+C 可以中断脚本
echo.
set /p p=
if %p% LSS 1 GOTO ERROR1
if %p% GTR %n% goto error1
set /a p=%p%*3-2
for /f "skip=%p% tokens=1,2" %%c in ('call %0 bcd') do (
bcdedit /delete %%d
echo 项目删除指令运行完毕!
goto end1
)
:error1
echo 输入错误,按任意键重来! && pause >nul
goto top
:bcd
set n=0
for /f "tokens=1,2*" %%c in ('bcdedit /v') do (
if %%c*==标识符* (
set /a n=!n!+1
echo ---!n!------------------------------------------------
echo ID: %%d %%e
)
if %%c*==description* echo 说明: %%d %%e
)
echo ---End--------------------------------------------------
:end1
-----------------------------------
用 bcdedit 配合 for 实现 id + 菜单项列表 ,然后交由 用户通过 set /p 选择指定项目后 从 bcd 菜单中删除之
[ 本帖最后由 dos时代菜鸟 于 2011-3-22 11:44 编辑 ] |
|