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中