首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在.bat中查找当前的diskpart卷号

在.bat中查找当前的diskpart卷号
EN

Stack Overflow用户
提问于 2015-08-26 04:09:51
回答 2查看 5.8K关注 0票数 1

在USB驱动器上使用.bat脚本,我想更改它的驱动器号,而不需要使用第三方软件,也不需要对插入USB的系统有任何要求,除非它是Windows XP或更高版本。

要获取我使用的当前驱动器号,请执行以下操作

设置DRIVE=%~dp0

它是E:例如

在我可以实际更改E:的驱动器号之前,我如何在diskpart的卷列表中自动找到卷号?

选择卷E:

显然不会起作用,您只能使用N用于光盘编号。

编辑:

感谢@wOxxOm提供的解决方案。下面是我的最后一个.bat脚本,我现在使用它将该脚本所在驱动器的驱动器号自动更改为U:\

代码语言:javascript
复制
@echo off
set DRIVERAW=%~dp0
set DRIVE=%DRIVER:~0,1%
if %DRIVE%==U exit
for /f "tokens=2,3" %%a in ('echo list volume ^| diskpart') do (
    if %%b==%DRIVE% set VOLNO=%%a
)
del %DRIVERAW%\diskpart.txt
echo select volume %VOLNO% > %DRIVERAW%\diskpart.txt
echo assign letter=U >> %DRIVERAW%\diskpart.txt
echo ^G
diskpart /s %DRIVERAW%\diskpart.txt
exit

如果不应将两个U:\挂载到U:\,则可以将这两个U替换为所需的任何其他驱动器号

只需确保U:\

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-26 04:32:18

解析卷列表,如下所示:

第6卷E我的_USB FAT32可拆卸971 MB健康

在提升的命令提示符下运行,或右键单击.bat文件并以管理员身份运行。

代码语言:javascript
复制
for /f "tokens=2,3" %%a in ('echo list volume ^| diskpart') do (
    if %%b==E echo Volume number is %%a
)

您还可以按卷名进行检查(使用tokens=2,4)或按卷类型(使用tokens=2,6),如果卷名包含空格,则需要在令牌号上使用一些技巧。

票数 1
EN

Stack Overflow用户

发布于 2021-02-23 23:17:45

批处理文件中的第三行,set DRIVE=%DRIVER:~0,1%应该是,set DRIVE=%DRIVERAW:~0,1%有了这样的改变,它对我来说是有效的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32213162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档