如何以正确的方式将卷标签写入变量?

时间:2014-10-20 16:15:10

标签: batch-file cmd

我想将卷标保存到变量%volume%中。 正常的语法是:

C:\Users\volk>for /f "tokens=1-5*" %%1 in ('vol C:') do set volume=%%6

这样我就会收到%%1 was unexpected at this time的语法错误。 所以我尝试了另一种解决方案:

C:\Users\volk>for /f "tokens=1-5*" %1 in ('vol C:') do set volume=%6

C:\Users\volk>set volume=System

C:\Users\volk>set volume=

但这种方式%volume%填充了System,并在下一步中被覆盖 '无'(变量为空且不再存在)。 我在Windows 8 PE中工作(不知道解决方案是否重要)。

1 个答案:

答案 0 :(得分:0)

for /f "tokens=5,*" %a in ('vol C:') do set volume=%b

适合我。如果你得到第二个set命令,只需过滤掉所需的行:

for /f "tokens=5,*" %a in ('vol C:^|find ":"') do set volume=%b

注意:%x用于命令提示符。在批处理文件中,您需要使用%%x