批處理問題怎樣把讀取內容的變數值賦值給變數例子如下

2021-08-05 21:47:30 字數 1611 閱讀 2819

1樓:

@echo off

setlocal enabledelayedexpansionset "datenum=0"

set "ipath="

for /f "tokens=*" %%i in (.\logdate.txt) do (

set /a datenum+=1

if !datenum! equ 2 (

set "ipath=%%i"

rem 給變數賦值的時候最好用引號把變數括起來,因為bat對空格異常敏感

echo.%%i

echo.!ipath!))

pause

2樓:匿名使用者

1.最後一行的「echo!ipath! 」裡 echo和顯示內容最好打一個空格,不推薦在echo直接後接 . 或 = 或 \等來代替空格。

2.檔案裡的文字內容有問題,含有特殊字元如 | & !。如內容為 美眉!

美眉我愛你! 時,由於你開啟變數延遲,所以 !美眉我愛你!

會以變數處理,事實沒有這個變數,所以賦空,顯示時只剩下 美眉 了。其他特殊字元同理

批處理怎樣讀取某文字的第n行,把內容賦值給一個變數

3樓:匿名使用者

比如讀取abc.txt的第一行,記作變數a然後讀取第2行,記作變數b

**如下:

@echo off

set/p n=要第幾行:

set/a n-=1

for /f "%skip% tokens=* delims=" %%i in (abc.txt) do (

set a=%%i&&goto:a)

:aecho 內容是:%a%

pause

或者查詢abc.txt中以a=開頭的行,把等號後的內容記為變數a這樣的命令要怎麼寫?

**如下

@echo off

for /f "tokens=1,* delims==" %%a in ('find "a="^

set a=%%b&&goto:a)

:aecho a=%a%

pause

4樓:匿名使用者

查詢abc.txt中以a=開頭的行,把等號後的內容記為變數a@echo off

for /f "tokens=1* delims==" %%i in (abc.txt) do if "%%i"=="a" set a=%%j

echo %a%

5樓:匿名使用者

第一部分我不是很明白你的意思,如果一行一個變數的話,貌似不行吧,用這個迴圈倒是可以一次儲存一行的資料直到文字結束,不知道你的意思是不是這樣:

for /f "delims=" %%a in (abc.txt) do @echo. %%a

pause

第二部分問題:

for /f "delims=a=" %%a in (abc.txt) do @echo %%a

pause

不知是否可以??

批處理問題

echo off set setlocal enabledelayedexpansionfor f delims i in type a.txt do set use for a in i do if defined a set use use a else set use use a 下個小工具,...

批處理問題

因該這樣 echo off hello echo yes or no set p choice if choice yes goto yeif choice no goto ne ye echo you chooce yes.pause goto hello ne echo you choose n...

批處理問題

set p hang 請輸入行數 set p po 請輸入節數 set p value 請輸入替換成的內容 for f tokens i in a.txt do set a n 1 for l i in 1,1,num do set p set p tiao del set p zzz set p ...