我需要在自己的變量中獲取文本中的每一行。就像這樣:如何批量讀取txt中的行。我怎麼把每一行放在自己的變量中?
的文本文件:
TEMPLATE: Permission, Username, Password;
Admin, Admin, Superflip;
User, Mom, Hi;
我想在這個文件中其自己的變量每行。可能嗎?
我需要在自己的變量中獲取文本中的每一行。就像這樣:如何批量讀取txt中的行。我怎麼把每一行放在自己的變量中?
的文本文件:
TEMPLATE: Permission, Username, Password;
Admin, Admin, Superflip;
User, Mom, Hi;
我想在這個文件中其自己的變量每行。可能嗎?
下應該工作...
@echo off & setlocal enabledelayedexpansion
set num=0
::Change "File_Path" to where your file is. If it is in the same directory, just put the name.
for /f "delims=" %%i in (File_Path) do (
set /a num+=1
set line[!num!]=%%i
)
腳本是如何工作的: 變量num
設置在for
循環使用。 for
循環遍歷文件File_Path
中的每一行,將該行設置爲line
,後綴爲數字。
此腳本模擬創建一個數組。要調用特定行,請輸入%line[number_of_line]%
。例如,要檢查是否line 3
和line 5
都是一樣的,你會把類似
if %line[3]%==%line[5]% echo Line 3 and 5 are the same.
+1,如果你改成'for/f「delims =」%% i',那麼完整的行被存儲爲 – jeb 2013-02-09 11:15:25
+1,你也可以用'for/f「令牌= 1,2 delims ==「%% a in('set line')do echo Line %% a was %% b' – 2013-02-09 22:24:12
我建議你在這些情況下使用標準數組符號:'set line [!num!] = %% i'。請參閱http://stackoverflow.com/questions/10544646/dir-output-into-bat-array/10569981#10569981 – Aacini 2013-02-10 03:25:40
你也可以只做到這一點簡單:
< filename.txt (
set /p line1=
set /p line2=
set /p line3=
)
這是做的更簡單的方法。
它也會讀取不超過三行。 :) – 2013-02-10 00:42:57
基本上你想創建變量數組? – LittleBobbyTables 2013-02-08 21:16:44
是要修復的行數? – 2013-02-08 22:42:20
如果你已經解決了你的問題,不要忘記選擇一個最佳答案。 – 2013-03-04 08:56:32