如何利用bat文件读取一个文本文件中的从某个字段开始的某个内容?

比如在某行中出现了Passwd,则设置读取Passwd之后的内容。
例如某行有字段Passwd51542,则读取51542到某个变量中

先用for配合findstr读取到Passwd51542所在的这一行
然后用set截取,set var=%var:~6%追问

如果Passwd前面有一串内容,而且长度不确定,怎么办?

追答

那就以passwd单词中的d结尾,用set将前面的字符替换为空,set var=%var:*d=%,连续替换几次。
或者你直接举几个实例,我帮你参考参考。

追问

导出注册表某部分。 UninstallPasswd REG_SZ Passwd51432
需要导出51432

追答@echo off
for /f "tokens=3 delims= " %%a in ('findstr /b "UninstallPasswd" a.txt') do set line=%%a
set var=%line:~6%
pause

或者

@echo off
for /f "delims=" %%a in ('findstr /b "UninstallPasswd " a.txt') do set line=%%a
set var=%line:Passwd= %
for %%a in (%var%) do set var=%%a
echo;%var%
pause

温馨提示:答案为网友推荐,仅供参考