【发布时间】:2015-08-25 20:09:50
【问题描述】:
在 USB 驱动器上使用 .bat 脚本我想在不使用 3rd 方软件的情况下更改其驱动器号,并且对插入 USB 的系统有任何要求,但 Windows XP 或更高版本除外。
获取我使用的当前驱动器号
设置驱动器=%~dp0
这是E:例如
在我真正改变E:的盘符之前,如何自动找出diskpart的卷列表中的卷号?
选择卷 E:
显然不行,你只能用n作为盘号。
编辑:
感谢@wOxxOm 的解决方案。 这是我现在用来将脚本所在驱动器的驱动器号自动更改为 U:\
的最终 .bat 脚本@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:\
上已安装任何内容【问题讨论】:
-
如果问题只是关于查找驱动器号,显然是duplicate。
-
@wOxxOm 请在说它是重复的之前阅读,我已经阅读了有关查找驱动器号的所有内容,但这不是我的问题。我知道驱动器号,但我需要它在 diskpart 中使用的卷号。
-
@wOxxOm 很抱歉,但我不明白它是如何工作的。我尝试在bat文件和cmd中手动运行
echo list volume | diskpart,但它所做的只是打开diskpart。我不熟悉使用 for /f 解析输出,即使我之前使用过 cmd 很多:/
标签: batch-file disk-partitioning drive-letter