我正在尝试创建一个批处理文件,该文件将读取并替换另一个文件中指定的行/文本字符串。
示例:
我的文件位于\\company.local\netlogon\data.txt
,其中包含以下内容:
JohnDoe=157 JoeSmith=104 JoeBloggs=514
我想在等号后面读取这些字符串,所以基本上作为登录脚本,我可以搜索包含%username%
的行,然后将等号后面的数字读入变量,如{{ 1}}。
因此,如果要%number%
登录,则会搜索他的姓名并阅读JohnDoe
。
然后我希望能够在另一个文件中搜索字符串并写入特定字符串,因此它会搜索157
并在其后面写Extension=
。
像157
这样的内容会以Extension=%number%
的形式读入文件。
非常感谢任何帮助。
感谢。
答案 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