逐行读取文本文件行,使用批处理脚本将其存储在一个数组 [英] Reading a text file line by line and storing it in an array using batch script
本文介绍了逐行读取文本文件行,使用批处理脚本将其存储在一个数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想读一个文本文件,并存储在一个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屋!
查看全文