批次:解析TXT行到数组 [英] Batch: Parse TXT Lines into Array

查看:121
本文介绍了批次:解析TXT行到数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要读从一个TXT文件行成一个阵列结构在我使用批处理文件中使用的愿望(在配置元素读取当前硬codeD)。

I have a desire to read lines from a TXT file into an Array structure for use in a batch file I am using (to read in configuration elements currently hardcoded).

的几个注意事项/假设:

A few notes/assumptions:


  1. 在同一目录下.bat文件.TXT文件

  2. 只有2列解析,数目不详的行

  3. COL1和放大器; COL2数据可以包含空格,但没有特殊字符

  4. .txt文件的格式/分隔符可以是任何方便这项任务:
    例如:COL1 | COL2

我只是在寻找让我开始一些指点。

I'm just looking for a few pointers to get me started.

谢谢!

标记

推荐答案

目录 TextFile.txt的

var 1,val 1
var 2,val 2
var 3,val 3

目录下的test.bat

@echo off
setlocal enabledelayedexpansion

set idx=0

for /f "usebackq tokens=1* delims=," %%I in ("textfile.txt") do (
    set "var[!idx!][0]=%%~I"
    set "var[!idx!][1]=%%~J"
    set /a idx += 1
)

set var

结果输出:

var[0][0]=var 1
var[0][1]=val 1
var[1][0]=var 2
var[1][1]=val 2
var[2][0]=var 3
var[2][1]=val 3


或者你可以模拟关联数组,它的键 - 值对格式,如果你处理的配置数据可能更有意义。


Or you could simulate associative arrays, whose key-value pair format might make more sense if you're dealing with configuration data.

目录 TextFile.txt的

key 1=val 1
key 2=val 2
key 3=val 3

目录下的test.bat

@echo off
setlocal

for /f "usebackq tokens=1* delims==" %%I in ("textfile.txt") do (
    set "config[%%~I]=%%~J"
)

set config

结果输出:

config[key 1]=val 1
config[key 2]=val 2
config[key 3]=val 3

这篇关于批次:解析TXT行到数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆