如何在不同的变量中设置多行命令输出? (批)

How to set multiple line command output in different variables? (Batch)

我想将命令输出(多行)设置为变量,具体取决于有多少行。首先我想将电脑上所有可访问的驱动器导出到一个txt文件中:

    wmic logicaldisk get name>drivesvar.txt

然后再次读出这些行,并将不同的驱动器设置为变量。

我尝试了很多 witf 的 /f 命令,但到目前为止没有用。如果有人能帮助我,我会很高兴!提前谢谢你。

您不需要文件:

@echo off
setlocal enabledelayedexpansion
set i=0
for /f "tokens=2 delims=:=" %%a in ('wmic logicaldisk get name /value ') do (
  set /a i+=1
  set drive[!i!]=%%a
)
set drive

如果您需要冒号,只需将其添加到 set drive[!i!]=%%a:(我将其删除(作为几种方法之一)以摆脱不寻常的 wmic 行结尾)