【发布时间】:2018-12-31 00:13:18
【问题描述】:
我正在尝试从diskpart 命令输出中捕获卷号。目前我正在这样做:
使用批处理脚本:
@echo off
set VOLNO=''
set DRIVE=C
for /f "tokens=2,3" %%a in ('echo list volume ^| diskpart') do (
if %%b==%DRIVE% set VOLNO=%%a
)
echo Volume No. for C Drive is: %VOLNO%
输出:
C 盘的卷号为:2使用 PowerShell:
$dp = "list volume" | diskpart | ? { $_ -match "^ [^-]" }>
$dp
输出:
卷 ### Ltr 标签 Fs 类型 大小 状态信息 卷 0 E DVD-ROM 0 B 无媒体 第 1 卷系统资源 NTFS 分区 350 MB 健康系统 第 2 卷 C NTFS 分区 59 GB 健康启动 第 3 卷 D 新卷 NTFS 分区 49 GB 正常我想捕获卷号,例如对于使用 PowerShell 的变量,它是 2。
【问题讨论】:
-
为什么不在 Powershell 中使用本机 CMDLETS 而不是解析
DISKPART输出? -
@Squashman 他们直到 8.1/10 才被引入(不记得是哪个)
标签: powershell batch-file