Batch file 批处理:从文件中读取字符串,写入另一个文件

Batch file 批处理:从文件中读取字符串,写入另一个文件,batch-file,Batch File,我正在尝试创建一个批处理文件,该文件将读取并替换另一个文件中指定的文本行/字符串 例如: 我的文件位于\\company.local\netlogon\data.txt,包含以下内容: JohnDoe=157 JoeSmith=104 JoeBloggs=514 我想读取等号后的一个字符串,因此基本上作为登录脚本,我可以搜索包含%username%的行,然后将等号后的数字读入变量,例如%number% 因此,如果JohnDoe要登录,它将搜索他的名字并读取157 然后,我希望能够在另一个文件中

我正在尝试创建一个批处理文件,该文件将读取并替换另一个文件中指定的文本行/字符串

例如:

我的文件位于
\\company.local\netlogon\data.txt
,包含以下内容:

JohnDoe=157 JoeSmith=104 JoeBloggs=514
我想读取等号后的一个字符串,因此基本上作为登录脚本,我可以搜索包含
%username%
的行,然后将等号后的数字读入变量,例如
%number%

因此,如果
JohnDoe
要登录,它将搜索他的名字并读取
157

然后,我希望能够在另一个文件中搜索一个字符串并写入一个特定的字符串,这样它将搜索
扩展名=
,并在其后写入
157

类似于
Extension=%number%
的内容,它将作为
Extension=157
读入文件

非常感谢您的帮助


谢谢。

不确定文件的格式,但如果您将每个条目作为新行,则可以使用

set extlist=P:\ath\to\extensionlist.txt
set userdata=P:\ath\to\directory\%username%.txt

for /f "tokens=1,2 delims==" %%a in (%extlist%) do if /I %%a.==%username%. set ext=%%b

ren %userdata% %username%.txt.bak
for /f "tokens=1,2 delims==" %%a in (%userdata%.bak) do if /I %%a.==Extension. (echo Extension^=^%ext%>>%userdata%) else (echo %%a^=^%%b>>%userdata%)
del /Q %userdata%.bak

如果你需要编辑,请进行一些小的编辑,我已经按照SO标准为你编辑了:)@BaliC:这正是为你进行编辑的原因。:)OP在您开始修复帖子时,一定还在刷帖子的过程中。有时候,你只需要耐心等待,直到它稳定下来,然后再开始清理。:)@AndriyM是的,我想我看到了这篇文章,就像他们发布的一样,并开始编辑它:)@Antony-阅读文件请查看
For/?
,搜索请查看
findstr/?
,写作请查看重定向,如
echo Extension=123>>myFile.txt