逐行读取文本文件行,使用批处理脚本将其存储在一个数组 [英] Reading a text file line by line and storing it in an array using batch script

查看:1471
本文介绍了逐行读取文本文件行,使用批处理脚本将其存储在一个数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想读一个文本文件,并存储在一个array.When我用下面的code的每一行,回声%I%是印刷每一次只有数组[0] 0值越来越分配。但在设置N =%I%,正值被分配作为最后的递增我value.Also@echo!阵列[%% I]!正在打印就​​好!数组[0]!而不是打印的value.Is出现在code的语法错误?

 设置/ A I = 0FOR / F %%一中(C:\\用户\\管理\\文档\\ url.txt)做(集/ A I + = 1回声%I%一套数组[%I%] = %%一)设定N =%I%对/ L %%我在(0,1%N%)也@echo!数组[%% I]!


解决方案

下面是一个在时间有用的,非常相似,你的code的方法:

 关闭@echo
设置文件= C:\\用户\\管理\\文档\\ url.txt
集/ A I = 0FOR / F有usebackq delims =%%一中(%文件%),做(
集/ A I + = 1
调用回声%%我%%
呼叫建立阵列[%%我%% = %%一
呼叫建立N = %%我%%
)对/ L %%我在(1,1,%N%)也叫回声%%阵列[%% I] %%

I want to read a text file and store each line in an array.When i used the code below, "echo %i%" is printing 0 every time and only array[0] value is getting assigned.But in "set n=%i%",n value is assigned as the last incremented i value.Also "@echo !array[%%i]!" is printing like !array[0]! instead of printing the value.Is there any syntax error in the code?

set /A i=0

for /F %%a in (C:\Users\Admin\Documents\url.txt) do (

set /A i+=1

echo %i%

set array[%i%]=%%a

)

set n=%i%

for /L %%i in (0,1,%n%) do @echo !array[%%i]!

解决方案

Here's a method that is useful at times and very similar to your code:

@echo off
set "file=C:\Users\Admin\Documents\url.txt"
set /A i=0

for /F "usebackq delims=" %%a in ("%file%") do (
set /A i+=1
call echo %%i%%
call set array[%%i%%]=%%a
call set n=%%i%%
)

for /L %%i in (1,1,%n%) do call echo %%array[%%i]%%

这篇关于逐行读取文本文件行,使用批处理脚本将其存储在一个数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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