标题: [系统相关] (已解决)求助批处理如何更改卷标? [打印本页]
作者: gyue 时间: 2021-11-18 11:51 标题: (已解决)求助批处理如何更改卷标?
本帖最后由 gyue 于 2021-11-19 11:30 编辑
请教各位大神,批处理如何判断卷标是否存在,并且更改吗?(不需要给盘符)
效果是,判断ESP卷标是否存在,如果存在将卷标名更改为SYSTEM。(改名后执行后边命令)
作者: yakeyun 时间: 2021-11-18 21:27
回复 1# gyue
直接挂载为Z盘,然后命令执行。如果没有自然挂载不了,忽略即可。
label Z:SYSTEM
作者: Batcher 时间: 2021-11-18 21:28
回复 1# gyue
试试:
http://bbs.bathome.net/thread-13909-1-1.html
http://bbs.bathome.net/thread-37222-1-1.html
http://bbs.bathome.net/thread-5025-1-1.html
作者: flashercs 时间: 2021-11-18 21:31
本帖最后由 flashercs 于 2021-11-18 21:48 编辑
判断卷标存在- wmic path win32_volume where "Label='ESP'" get Name /value
复制代码
改卷标- @echo off
- set Name=
- for /f "delims=" %%A in ('wmic path win32_volume where "Label='ESP'" get Name /value^|find "="') do set %%A
- if defined Name Label %Name% System
- pause
- exit /b
复制代码
作者: yakeyun 时间: 2021-11-18 21:43
回复 4# flashercs
Name=\\?\Volume{51199f3f-a1dc-4459-ac21-2b7a00232400}\
作者: yakeyun 时间: 2021-11-18 21:48
@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
作者: gyue 时间: 2021-11-19 11:30
回复 3# Batcher
谢谢,找到思路了
作者: gyue 时间: 2021-11-19 11:31
回复 6# yakeyun
谢谢 帮忙
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |