【发布时间】:2016-10-28 15:38:01
【问题描述】:
我有一个文本文件 (text.txt),其中列出了一个人的姓名,后跟他们最喜欢的颜色(见下文)。我想将变量“name”分配给这个人的名字,将变量“color”分配给这个人最喜欢的颜色。
现在,我的代码通过跳过每隔一行正确地提取名称,但它没有分配该人最喜欢的颜色。非常感谢任何帮助。
text.txt
john
blue
matt
red
susan
yellow
我的脚本:
@echo off
setlocal enabledelayedexpansion
set x=0
for /f "delims=" %%a in (C:\text.txt) do (
set /a "x=(x+1) %% 2"
if !x! == 1 set color=%%a
if !x! == 0 call echo !color!
)
当前输出:
john
matt
susan
【问题讨论】:
-
要在
0和1之间切换x,你也可以使用set /A x=1-x... -
@aschipfl ... 或
set /A x=!x(^!x启用延迟扩展)。
标签: batch-file text