找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 21386|回复: 7

[系统相关] (已解决)求助批处理如何更改卷标?

[复制链接]
发表于 2021-11-18 11:51:11 | 显示全部楼层 |阅读模式
本帖最后由 gyue 于 2021-11-19 11:30 编辑

请教各位大神,批处理如何判断卷标是否存在,并且更改吗?(不需要给盘符)
效果是,判断ESP卷标是否存在,如果存在将卷标名更改为SYSTEM。(改名后执行后边命令)
发表于 2021-11-18 21:27:38 | 显示全部楼层
回复 1# gyue

直接挂载为Z盘,然后命令执行。如果没有自然挂载不了,忽略即可。
label Z:SYSTEM
发表于 2021-11-18 21:28:10 | 显示全部楼层
发表于 2021-11-18 21:31:31 | 显示全部楼层
本帖最后由 flashercs 于 2021-11-18 21:48 编辑

判断卷标存在
  1. wmic path win32_volume where "Label='ESP'" get Name /value
复制代码
改卷标
  1. @echo off
  2. set Name=
  3. for /f "delims=" %%A in ('wmic path win32_volume where "Label='ESP'" get Name /value^|find "="') do set %%A
  4. if defined Name  Label %Name% System
  5. pause
  6. exit /b
复制代码
发表于 2021-11-18 21:43:48 | 显示全部楼层
回复 4# flashercs


Name=\\?\Volume{51199f3f-a1dc-4459-ac21-2b7a00232400}\
发表于 2021-11-18 21:48:54 | 显示全部楼层
@echo off
FOR /F "tokens=* delims=" %%i in ('echo lis vol^|diskpart^|find "卷"^|find /v "###"') do set "str=%%i" & call :find
cls
if %rm%a==a &goto:hide
goto:hide
:find
set v=%str:~8,1%
set l=%str:~14,1%
if "%l%"==" " goto:show
goto:eof
:show
set rm=%v%_%rm%
cmd /c "echo sel vol %v% & echo assign"|diskpart
goto:eof
:hide
if %rm%a==a goto:eof
FOR /F "tokens=1* delims=_" %%i in ('echo %rm%') do set "v=%%i" & set "rm=%%j" & label %%j:SYSTEM & call :dohide
goto:hide
:dohide
cmd /c "echo sel vol=%v% & echo remove"|diskpart
goto:eof
 楼主| 发表于 2021-11-19 11:30:27 | 显示全部楼层
回复 3# Batcher


    谢谢,找到思路了
 楼主| 发表于 2021-11-19 11:31:44 | 显示全部楼层
回复 6# yakeyun


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

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 23:07 , Processed in 0.031484 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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