A. 批處理怎樣讀取某文本的第N行把內容賦值給一個變數
比如讀取abc.txt的第一行,記作變數a
然後讀取第2行,記作變數b
代碼如下:
@echo off
set/p n=要第幾行:
set/a n-=1
if "%n%"=="0" (set "skip=") else (set "skip=skip=%n%")
for /f "%skip% tokens=* delims=" %%i in (abc.txt) do (
set a=%%i&&goto:a)
:a
echo 內容是:%a%
pause
或者查找abc.txt中以a=開頭的行,把等號後的內容記為變數a
這樣的命令要怎麼寫?
代碼如下
@echo off
for /f "tokens=1,* delims==" %%a in ('find "a="^<abc.txt') do (
set a=%%b&&goto:a)
:a
echo a=%a%
pause
B. 批處理將txt文件部分內容賦值給一個變數
@echooff&
for/f"tokens=1-2"%%ain(1.txt)do(
if"%%b"=="device"(ifnotdefinedSN(set"SN=%%a")else(set"SN=!SN!%%a"))
)
setSN&pause
C. 求批處理:讀取所有文件名賦值給變數,並且變數循環執行一條命令
@echo off
echo 正在運行中...
for /f "delims=" %%i in ('dir d:\logw3c\ex*.log /b') do convlog1.exe -i %%~si -o d:\logncsa\%%~nxi -l comb
echo 完成!&pause
運行有問題,請指出來!
D. bat讀取文本內容來傳遞變數
@echooff
for/f"tokens=1-3"%%ain(Lat.dat)do(
set"x=%%~a"
set"y=%%~b"
set"z=%%~c"
)
echox:%x%
echoy:%y%
echoz:%z%
pause
E. bat讀一個指定文件的內容,並將其存到一個變數里。
@echo off
set /p a=<C:\test.txt
echo.%a%
pause
這個是讀取文本第一行,並賦值到a
F. 批處理怎樣讀取某文本的內容,把內容的一部分賦值給一個變數
@echooff&color0d
for/f"delims="%%ain(1.txt)do(
setbb=%%a
)
setaa=%bb:~46,3%
echo%aa%
pause>nul
::GAGATOSHUT團隊(望採納!)
G. 在bat文件中如何動態給變數賦值以及讀取變數
@for /f "tokens=15" %%i in ('ipconfig') do @set var=%%i & goto a
:a
@echo %var%
pause
費了我不少力氣,我本機已測試成功!得到的是VPN的IP
@for /f "tokens=3,4* delims=. " %%a in ('wmic nicconfig get Description^,IPAddress') do if %%a==Interface set a=%%b.%%c
set b=%a:{"=%
echo %b:"}=%
H. 批處理問題 怎樣把讀取內容的變數值賦值給一個變數 例子如下
@echo off
setlocal enabledelayedexpansion
set "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
I. 批處理讀取文本第二行內容並賦值到變數
@echooff
for/f"tokens=*"%%ain('more+1"var.txt"')do(
set"var=%%a"
)
:loop
if"%var:~-1%"==""set"var=%var:~0,-1%"&gotoloop
echo"%var%"
pause
讀取文本var.txt第二行,去除首尾空格 保存在變數 var中