2014-10-20 53 views
0

我想将卷标保存到变量%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中工作(不知道它是否对解决方案很重要)。

回答

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

相关问题