我的目标是使用for循环创建的文本文件作为另一个for循环的变量的输入。但是,创建的初始文本文件末尾有一个新的行/空格,并在读取所述文本文件时被声明为变量。
以下代码正在创建一个文本文件......
for /F "Skip=1 Delims=:" %%A In ('WMIC LogicalDisk Get Caption') do @echo(%%A>> "EXAMPLE DIRECTORY\partitions.txt"
此文本输出文件看起来像
A
C
D
(empty line)
然后我使用这个文本文件输入另一个命令,其中每个行都用作变量。
for /F "delims=" %%P in (EXAMPLE DIRECTORY\partitions.txt) do (echo test.exe -partition %%P
这个(空行)或空格是作为变量提供的,这是不可取的,所以我在这个命令链的某个地方寻找修复。
答案 0 :(得分:2)
不要在输出文件中包含不需要的行
>"EXAMPLE DIRECTORY\partitions.txt" (
for /f "tokens=2 delims==:" %%a in ('
wmic logicaldisk get caption /value
') do (echo(%%a)
)
向wmic
询问/value
格式,输出将类似于
Caption=C:
使用冒号和等号作为分隔符我们只留下驱动器号,并且正如我们要求的tokens=2
,没有第二个令牌(驱动器号)的行将被丢弃。
答案 1 :(得分:1)
你可以在主题中简单地问我给你的答案。
(For /F "Skip=1 Delims=:" %%A In ('WMIC LogicalDisk Get Caption') Do For %%B In (%%A) Do Echo(%%B:)>"EXAMPLE DIRECTORY\partitions.txt"