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

时间:2012-12-17 10:34:48

标签: batch-file

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

示例:

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

JohnDoe=157 JoeSmith=104 JoeBloggs=514

我想在等号后面读取这些字符串,所以基本上作为登录脚本,我可以搜索包含%username%的行,然后将等号后面的数字读入变量,如{{ 1}}。

因此,如果要%number%登录,则会搜索他的姓名并阅读JohnDoe

然后我希望能够在另一个文件中搜索字符串并写入特定字符串,因此它会搜索157并在其后面写Extension=

157这样的内容会以Extension=%number%的形式读入文件。

非常感谢任何帮助。

感谢。

1 个答案:

答案 0 :(得分:1)

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

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