我正在尝试创建一个批处理文件,它将读取和替换另一个文件中指定的文本行/字符串。
示例:
我在\\company.local\netlogon\data.txt
上有一个文件,其中包含以下内容:
JohnDoe=157 JoeSmith=104 JoeBloggs=514
我想读取等号后面的字符串,所以基本上作为登录脚本,我可以搜索包含%username%
的行,然后将等号后面的数字读入一个变量,如%number%
。
因此,如果JohnDoe
要登录,它将搜索他的名字并显示为157
。
然后,我希望能够在另一个文件中搜索字符串并写入特定的字符串,这样它就可以搜索Extension=
并在后面写入157
。
类似于Extension=%number%
,然后会以Extension=157
的形式读入文件。
非常感谢您的帮助。
谢谢。
发布于 2012-12-27 16:09:54
不确定您如何格式化文件,但如果您将每个条目作为一个新行,这将会起作用。
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
https://stackoverflow.com/questions/13912445
复制