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 ...批處理問題
批處理問題
批處理問題